MCP Resume Server

Obtiene datos de currículum desde un gist de GitHub para proporcionar contexto profesional a los LLMs.

Documentación

🤖 AI Resume - Interfaz de Chat Interactiva

Streamlit Python OpenAI License Deploy

Chatea con el currículum impulsado por IA de Michael Wybraniec usando LLMs de código abierto - ¡Despliega GRATIS!

✨ Construido con una arquitectura limpia y modular para máxima mantenibilidad y escalabilidad.

📋 Tabla de Contenidos

🚀 Características

🎯 Funcionalidad Principal

  • 📄 Chat Interactivo de Currículum - Haz cualquier pregunta sobre la experiencia y el historial de Michael
  • 🎯 Recuperación Inteligente de Contexto - Selección inteligente de contexto basada en las preguntas del usuario
  • 📄 Descarga de PDF - Genera y descarga un CV profesional bajo demanda
  • 🎯 Coincidencia Inteligente - Análisis de descripciones de trabajo para información para reclutadores

🤖 Integración de IA y LLM

  • 🤖 Múltiples Proveedores LLM - OpenRouter (modelos gratuitos), OpenAI, Ollama (local)
  • ⚡ Respuestas en Tiempo Real - Respuestas instantáneas con recuperación inteligente de contexto
  • 🆓 Modelos Gratuitos Disponibles - Usa potentes modelos de código abierto sin costo
  • 🔧 Configuración Flexible - Cambio fácil entre diferentes proveedores de IA

🎨 Experiencia de Usuario

  • 💬 Interfaz de Chat Moderna - Hermosa interfaz de Streamlit con botones de acción rápida
  • 📱 Responsive Móvil - Funciona perfectamente en todos los dispositivos y tamaños de pantalla
  • ✅ Estado del Sistema - Indicador de estado en tiempo real muestra cuando todos los sistemas están listos
  • 🔧 Auto-Configuración - Flujo de configuración inteligente con ayuda contextual
  • ⚡ Acciones Rápidas - Acceso con un clic a tareas comunes e información

🏗️ Excelencia Técnica

  • 🏗️ Arquitectura Basada en Propósitos - Organización profesional del proyecto con agrupación lógica de archivos
  • 🆓 Despliegue Gratuito - Despliega en Streamlit Cloud gratis
  • 📦 Diseño Modular - Separación limpia de responsabilidades para mantenibilidad
  • 🔧 Personalización Fácil - Simple de adaptar para tu propio currículum y marca

⚖️ Cumplimiento de la Ley de IA

  • ✅ Cumplimiento Total de la Ley de IA de la UE - Implementación completa de todos los requisitos para sistemas de IA de alto riesgo
  • 🔍 Monitoreo Avanzado - Monitoreo de cumplimiento en tiempo real con alertas automatizadas
  • 📋 Procedimientos de Auditoría - Marco de auditoría integral con listas de verificación estandarizadas
  • 📊 Analíticas de Rendimiento - Analíticas avanzadas con análisis de tendencias e información
  • 🔍 Evaluación de Conformidad - Procedimientos de evaluación sistemática para preparación de certificación
  • 📋 Preparación para Certificación - Gestión completa de documentos para presentación regulatoria
  • ✅ Validación de Cumplimiento - Validación automatizada y manual con elegibilidad de certificación

🎬 Demo en Vivo

🚀 ¡Pruébalo ahora! Despliega tu propia instancia en Streamlit Cloud o ejecútalo localmente.

📱 Capturas de Pantalla

Próximamente: Capturas de pantalla interactivas y GIFs de demostración

🎯 Lo Que Puedes Hacer

  • 💬 Chatea con la IA - Haz preguntas sobre experiencia, habilidades y proyectos
  • 📄 Descarga el CV - Genera currículums PDF profesionales
  • 🎯 Coincidencia Inteligente - Analiza descripciones de trabajo para compatibilidad
  • ⚡ Acciones Rápidas - Obtén información instantánea con botones de un clic

🎯 Inicio Rápido (Local)

Requisitos Previos

  • Python 3.11 o superior
  • Git

Pasos de Instalación

# 1. Clone the repository
git clone https://github.com/michaelwybraniec/mcp-resume.git
cd mcp-resume

# 2. Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# 3. Install dependencies
pip install -r requirements.txt

# 4. Run the application
streamlit run app.py

🚀 Primera Ejecución

  1. Abre tu navegador en http://localhost:8501
  2. Obtén una clave API gratuita de OpenRouter.ai
  3. Agrega tu clave API en la barra lateral
  4. Busca el estado "✅ ¡Todos los Sistemas Listos!"
  5. ¡Comienza a chatear! 🎉

💡 Consejo Profesional: ¡Usa el modelo gratuito meta-llama/llama-3.1-8b-instruct:free para probar!

🌟 Despliegue en Streamlit Cloud (¡GRATIS!)

1. Sube a GitHub

git add .
git commit -m "Deploy AI Resume to Streamlit Cloud"
git push origin main

2. Despliega en Streamlit Cloud

  1. Ve a share.streamlit.io
  2. Conecta tu cuenta de GitHub
  3. Selecciona tu repositorio
  4. Establece la ruta del archivo principal: app.py
  5. ¡Haz clic en "Deploy"!

3. Configura Secretos (Opcional)

Para proveedores LLM mejorados, agrega secretos en el panel de Streamlit Cloud:

[secrets]
OPENROUTER_API_KEY = "your_openrouter_api_key_here"
OPENAI_API_KEY = "your_openai_api_key_here"

4. ¡Tu aplicación está en vivo! 🎉

Obtendrás una URL como: https://your-username-mcp-resume-app-xyz.streamlit.app

🤖 Configuración del Proveedor LLM

Opción 1: OpenRouter (Recomendado)

  • ¡Modelos gratuitos disponibles!
  • Regístrate en OpenRouter
  • Obtén la clave API y agrégala a través de la barra lateral o los secretos de Streamlit
  • Usa modelos gratuitos como meta-llama/llama-3.1-8b-instruct:free

Opción 2: Ollama (Desarrollo Local)

# Install Ollama
brew install ollama  # macOS
# or visit https://ollama.ai for other platforms

# Start Ollama
ollama serve

# Install models
ollama pull llama3.2
ollama pull llama3.1

Opción 3: OpenAI (Pago)

  • Obtén la clave API de OpenAI
  • Agrégala a los secretos de Streamlit o ingrésala en la aplicación

🏗️ Arquitectura

Organización Basada en Propósitos:

mcp-resume/
├── 🏠 app.py                     # Main entry point (Streamlit-ready)
├── 📋 requirements.txt           # Dependencies
│
├── 🔧 core/                      # Foundation & Configuration
│   ├── config.py                # Settings & constants
│   └── models.py                # Data models & types
│
├── ⚙️ services/                  # Business Logic & Integrations
│   ├── resume_service.py        # Resume data handling
│   ├── llm_providers.py         # AI/LLM integrations
│   ├── document_generator.py    # PDF generation
│   └── fallback_resume.py       # Data fallback service
│
├── 🎨 ui/                        # User Interface Layer
│   ├── ui_components.py         # UI components & styling
│   └── session_manager.py       # Session state management
│
├── 📊 data/                      # Data Files
│   ├── resume.json
│   ├── michael_wybraniec_resume.json
│   └── CV_Michael_Wybraniec_15_Jun_2025.pdf
│
└── 🔨 utils/                     # Utility Scripts
    └── create_gist.py           # GitHub Gist utilities

Diagrama de Arquitectura del Sistema:

┌─────────────────────────────────────────────────────────────────┐
│                        🌐 Streamlit App                        │
├─────────────────────────────────────────────────────────────────┤
│  🎨 UI Layer (ui/)                                              │
│  ├── ui_components.py    # Chat interface, modals, styling     │
│  └── session_manager.py  # State management & initialization   │
├─────────────────────────────────────────────────────────────────┤
│  ⚙️ Services Layer (services/)                                  │
│  ├── resume_service.py      # Data retrieval & context         │
│  ├── llm_providers.py       # AI/LLM integrations              │
│  ├── document_generator.py  # PDF generation                   │
│  └── fallback_resume.py     # Data fallback service            │
├─────────────────────────────────────────────────────────────────┤
│  🔧 Core Layer (core/)                                         │
│  ├── config.py           # Settings & constants                │
│  └── models.py           # Data models & types                 │
├─────────────────────────────────────────────────────────────────┤
│  📊 Data Layer (data/)                                         │
│  ├── resume.json              # Primary resume data            │
│  ├── michael_wybraniec_resume.json  # Backup data             │
│  └── CV_Michael_Wybraniec_15_Jun_2025.pdf  # Professional CV  │
└─────────────────────────────────────────────────────────────────┘
                                │
                                ▼
┌─────────────────────────────────────────────────────────────────┐
│                    🤖 External LLM Providers                   │
├─────────────────────────────────────────────────────────────────┤
│  🌐 OpenRouter API    │  🏠 Ollama Local    │  🔑 OpenAI API    │
│  • Free models        │  • llama3.2         │  • GPT models     │
│  • Paid models        │  • llama3.1         │  • Advanced AI    │
│  • Rate limiting      │  • Local processing │  • High quality   │
└─────────────────────────────────────────────────────────────────┘

Flujo de Datos:

User Input → UI Components → Session Manager → Resume Service
     ↓              ↓              ↓              ↓
LLM Providers ← Message Processing ← Context Generation ← JSON Data
     ↓
AI Response → UI Components → User Interface

⚖️ Cumplimiento de la Ley de IA

🎯 Resumen

Este sistema de Currículum con IA es totalmente compatible con las regulaciones de la Ley de IA de la UE para sistemas de IA de alto riesgo. El sistema ha sido diseñado e implementado con medidas de cumplimiento integrales en todas las áreas requeridas.

📊 Estado de Cumplimiento

Área de CumplimientoEstadoImplementación
Artículo 9: Gestión de Riesgos✅ CUMPLESistema integral de gestión de riesgos con evaluación automatizada
Artículo 10: Gobernanza de Datos✅ CUMPLEGestión de calidad de datos y sistemas de registro de procesamiento
Artículo 11: Documentación Técnica✅ CUMPLEDocumentación completa de arquitectura del sistema y algoritmos
Artículo 12: Mantenimiento de Registros✅ CUMPLETrazabilidad de auditoría integral y registro de operaciones
Artículo 13: Transparencia✅ CUMPLEAvisos de transparencia de IA y provisión de información al usuario
Artículo 14: Supervisión Humana✅ CUMPLEMecanismos de supervisión humana y marcado de respuestas
Artículo 15: Precisión y Ciberseguridad✅ CUMPLEMonitoreo de precisión del sistema y medidas de seguridad

🔍 Características de Cumplimiento

Fase 1: Medidas de Cumplimiento Inmediatas

  • ✅ Avisos de Transparencia de IA - Avisos claros sobre el uso y las limitaciones del sistema de IA
  • ✅ Panel de Supervisión Humana - Monitoreo en tiempo real de respuestas marcadas
  • ✅ Sistema de Marcado de Respuestas - Los usuarios pueden marcar respuestas de IA para revisión humana
  • ✅ Información de Derechos del Usuario - Información integral sobre derechos del usuario y capacidades del sistema

Fase 2: Implementación de Cumplimiento Principal

  • ✅ Sistema de Gestión de Riesgos - Identificación, evaluación y mitigación automatizada de riesgos
  • ✅ Marco de Gobernanza de Datos - Evaluación de calidad de datos y gestión de registros de procesamiento
  • ✅ Documentación Técnica - Documentación completa de arquitectura del sistema y cumplimiento
  • ✅ Sistema de Mantenimiento de Registros - Registro integral de interacciones de usuario y trazabilidad de auditoría

Fase 3: Cumplimiento Avanzado

  • ✅ Monitoreo Avanzado - Monitoreo de cumplimiento en tiempo real con alertas automatizadas
  • ✅ Procedimientos de Auditoría - Marco de auditoría integral con listas de verificación estandarizadas
  • ✅ Analíticas de Rendimiento - Analíticas avanzadas con análisis de tendencias e información
  • ✅ Alertas de Cumplimiento - Sistema de alertas inteligente con notificaciones basadas en umbrales

Fase 4: Evaluación de Conformidad y Certificación

  • ✅ Marco de Evaluación de Conformidad - Procedimientos de evaluación sistemática con criterios estandarizados
  • ✅ Preparación para Certificación - Gestión completa de documentos y procedimientos de solicitud
  • ✅ Validación de Cumplimiento - Validación automatizada y manual con preparación para certificación
  • ✅ Documentación Regulatoria - Documentación preparada para presentación regulatoria

📋 Panel de Cumplimiento

El sistema incluye un panel de cumplimiento integral accesible a través de la barra lateral que proporciona:

  • Estado de Cumplimiento en Tiempo Real - Monitoreo en vivo de todos los sistemas de cumplimiento
  • Métricas de Gestión de Riesgos - Niveles de riesgo, estado de mitigación y análisis de tendencias
  • Estado de Gobernanza de Datos - Puntuaciones de calidad de datos y cumplimiento de procesamiento
  • Monitoreo de Trazabilidad de Auditoría - Registros de operación del sistema e integridad de la trazabilidad
  • Analíticas de Rendimiento - KPIs de cumplimiento y análisis de tendencias
  • Preparación para Certificación - Evaluación en tiempo real de elegibilidad de certificación

🔧 Arquitectura de Cumplimiento

┌─────────────────────────────────────────────────────────────────┐
│                    ⚖️ AI Act Compliance Layer                  │
├─────────────────────────────────────────────────────────────────┤
│  🔍 Advanced Monitoring    │  📋 Audit Procedures              │
│  • Real-time monitoring    │  • Standardized checklists        │
│  • Automated alerting      │  • Comprehensive reporting        │
│  • Performance analytics   │  • Compliance verification        │
├─────────────────────────────────────────────────────────────────┤
│  🔍 Conformity Assessment  │  📋 Certification Preparation     │
│  • Systematic procedures   │  • Document management            │
│  • Standardized criteria   │  • Application workflows          │
│  • Certification readiness │  • Regulatory submission          │
├─────────────────────────────────────────────────────────────────┤
│  ⚠️ Risk Management        │  📊 Data Governance               │
│  • Risk identification     │  • Data quality management        │
│  • Assessment procedures   │  • Processing records             │
│  • Mitigation strategies   │  • Compliance monitoring          │
├─────────────────────────────────────────────────────────────────┤
│  📝 Record Keeping         │  ✅ Compliance Validation         │
│  • System operation logs   │  • Automated validation rules     │
│  • Audit trails           │  • Manual validation procedures    │
│  • Retention management    │  • Certification eligibility      │
└─────────────────────────────────────────────────────────────────┘

📄 Documentación de Cumplimiento

  • AI_ACT_COMPLIANCE.md - Documentación integral de cumplimiento
  • services/risk_management.py - Implementación del sistema de gestión de riesgos
  • services/data_governance.py - Gobernanza de datos y gestión de calidad
  • services/record_keeping.py - Sistema de mantenimiento de registros y trazabilidad de auditoría
  • services/compliance_monitoring.py - Monitoreo avanzado y alertas
  • services/audit_procedures.py - Procedimientos y protocolos de auditoría
  • services/performance_analytics.py - Analíticas de rendimiento e información
  • services/conformity_assessment.py - Marco de evaluación de conformidad
  • services/certification_preparation.py - Sistema de preparación para certificación
  • services/compliance_validation.py - Procedimientos de validación de cumplimiento

🎯 Beneficios de Cumplimiento

  • ✅ Cumplimiento Regulatorio - Adherencia total a los requisitos de la Ley de IA de la UE
  • ✅ Mitigación de Riesgos - Gestión y monitoreo integral de riesgos
  • ✅ Transparencia - Información clara del sistema de IA y derechos del usuario
  • ✅ Supervisión Humana - Mecanismos efectivos de control y revisión humana
  • ✅ Preparación para Auditoría - Documentación completa y trazabilidad de auditoría
  • ✅ Listo para Certificación - Preparado para certificación oficial de cumplimiento

Responsabilidades de los Módulos:

🔧 Capa Principal

  • core/config.py - Configuración, constantes y ajustes
  • core/models.py - Modelos de datos y definiciones de tipos

🎨 Capa de UI

  • ui/ui_components.py - Componentes de UI, estilos y modales
  • ui/session_manager.py - Gestión del estado de sesión e inicialización

⚙️ Capa de Servicios

  • services/resume_service.py - Recuperación de datos del currículum y generación de contexto
  • services/llm_providers.py - Implementaciones de proveedores LLM e interfaz de chat unificada
  • services/document_generator.py - Generación de PDF y funcionalidad de exportación
  • services/fallback_resume.py - Servicio de datos del currículum y gestión de contexto

📊 Capa de Datos

  • data/ - Archivos JSON del currículum y recursos PDF
  • utils/ - Scripts de utilidad y funciones auxiliares

💡 Ejemplos de Uso

💬 Ejemplos de Chat:

  • "Cuéntame sobre la experiencia laboral de Michael"
  • "¿Cuáles son sus habilidades técnicas?"
  • "Resume su historial para un reclutador"
  • "Encuentra proyectos que involucren JavaScript"
  • "¿Cuál es su experiencia con IA y aprendizaje automático?"
  • "¿Cuántos años de experiencia en Python tiene?"
  • "¿Ha trabajado con tecnologías de IA/ML?"
  • "¿En qué industrias ha trabajado?"

⚡ Acciones Rápidas:

  • 👤 Resumir Perfil - Obtén una visión general integral del candidato
  • 📅 Años de Experiencia - Ve la línea de tiempo de progresión profesional
  • 🛠️ Habilidades Técnicas - Analiza competencias técnicas
  • 🎯 Coincidencia Inteligente - Análisis de compatibilidad laboral con puntuaciones
  • 📄 Descargar CV - Currículum PDF profesional

🎯 Para Reclutadores y RRHH:

  • "¿Es este candidato adecuado para un rol de desarrollador senior?"
  • "¿Cuál es su experiencia en liderazgo?"
  • "¿Tiene experiencia con plataformas en la nube?"
  • "Evalúa sus habilidades de frontend vs backend"
  • "Analiza la compatibilidad para esta descripción de trabajo..." (pega la descripción del trabajo)

🔧 Características y Funcionalidad

📱 Interfaz de Chat Moderna

  • Diseño limpio y profesional con barra lateral expandida
  • Botones de acción rápida para información instantánea
  • Indicador de estado del sistema en tiempo real
  • Marcas de tiempo de mensajes e indicadores de procesamiento
  • Diseño responsive móvil

🎯 Recuperación Inteligente de Contexto

  • Selección inteligente de contexto basada en las preguntas del usuario
  • Respuestas enfocadas con secciones relevantes del currículum
  • Coincidencia de experiencia, habilidades, proyectos y logros
  • Capacidades de análisis de descripciones de puestos

📄 Generación Profesional de CV

  • Genera un CV en PDF bajo demanda
  • Formato limpio y profesional
  • Descarga directamente desde la interfaz

🔧 Experiencia de Usuario Mejorada

  • Estado del Sistema: Indicador en tiempo real que muestra "¡Todos los Sistemas Listos!" cuando está configurado
  • Ayuda y Consejos: Guía de configuración completa y preguntas de ejemplo
  • Acciones Rápidas: Panel organizado y expandible para tareas comunes
  • Configuración Automática: Flujo de configuración inteligente con orientación contextual

🌐 Opciones de Despliegue

1. Streamlit Cloud (Recomendado - Gratis) ⭐

  • Alojamiento gratuito para repositorios públicos
  • Despliegues automáticos desde GitHub
  • Gestión de secretos integrada
  • Perfecto para demos y portafolios

2. Desarrollo Local

pip install -r requirements.txt
streamlit run app.py

3. Otras Plataformas en la Nube

  • Railway, Render, Heroku
  • Usa los requirements.txt y runtime.txt proporcionados
  • Establece el comando de inicio: streamlit run app.py --server.port $PORT

📁 Estructura del Proyecto

mcp-resume/
├── 🏠 app.py                           # Main entry point (Streamlit-ready)
├── 📋 requirements.txt                 # Python dependencies
├── 🐍 runtime.txt                      # Python version for deployment
├── 📖 README.md                        # Documentation
├── 🚀 DEPLOYMENT.md                    # Deployment guide
├── 🔧 secrets.toml.example             # Example secrets configuration
├── ⚖️ AI_ACT_COMPLIANCE.md             # AI Act compliance documentation
├── 📋 agentic-sdlc/                    # Agentic SDLC project management
│   ├── tasks/                          # Task management and tracking
│   └── project-backlog.md              # Project backlog and progress
│
├── 🔧 core/                            # Foundation & Configuration
│   ├── __init__.py
│   ├── config.py                       # Settings & constants
│   └── models.py                       # Data models & types
│
├── ⚙️ services/                        # Business Logic & Integrations
│   ├── __init__.py
│   ├── resume_service.py               # Resume data handling
│   ├── llm_providers.py                # AI/LLM integrations
│   ├── document_generator.py           # PDF generation
│   ├── fallback_resume.py              # Data fallback service
│   ├── risk_management.py              # AI Act risk management system
│   ├── data_governance.py              # Data governance and quality management
│   ├── record_keeping.py               # Record keeping and audit trails
│   ├── compliance_monitoring.py        # Advanced compliance monitoring
│   ├── audit_procedures.py             # Audit procedures and protocols
│   ├── performance_analytics.py        # Performance analytics and insights
│   ├── conformity_assessment.py        # Conformity assessment framework
│   ├── certification_preparation.py    # Certification preparation system
│   └── compliance_validation.py        # Compliance validation procedures
│
├── 🎨 ui/                              # User Interface Layer
│   ├── __init__.py
│   ├── ui_components.py                # UI components & styling
│   └── session_manager.py              # Session state management
│
├── 📊 data/                            # Data Files
│   ├── resume.json                     # Primary resume data
│   ├── michael_wybraniec_resume.json   # Backup resume data
│   ├── CV_Michael_Wybraniec_15_Jun_2025.pdf # Professional CV
│   ├── risk_management_log.json        # Risk management data
│   ├── data_governance_log.json        # Data governance records
│   ├── system_records.json             # System operation logs
│   ├── audit_trails.json               # Audit trail data
│   ├── compliance_monitoring.json      # Compliance monitoring data
│   ├── audit_procedures.json           # Audit procedures data
│   ├── performance_analytics.json      # Performance analytics data
│   ├── conformity_assessment.json      # Conformity assessment data
│   ├── certification_preparation.json  # Certification preparation data
│   └── compliance_validation.json      # Compliance validation data
│
├── 🔨 utils/                           # Utility Scripts
│   ├── __init__.py
│   └── create_gist.py                  # GitHub Gist utilities
│
└── 🐍 venv/                            # Virtual environment

🏗️ Beneficios de la Arquitectura Basada en Propósitos

🔧 Para Desarrolladores:

  • Navegación Fácil: Encuentra archivos por propósito (UI, servicios, datos, etc.)
  • Mantenible: Separación clara de responsabilidades entre directorios
  • Escalable: Añade nuevas funciones sin tocar módulos existentes
  • Comprobable: Cada capa puede probarse de forma independiente
  • Profesional: Organización de proyectos según estándares de la industria

🚀 Para Funciones:

  • Nuevos Proveedores de LLM: Extiende services/llm_providers.py
  • Cambios de UI: Modifica ui/ui_components.py
  • Formatos de Exportación: Añade a services/document_generator.py
  • Fuentes de Datos: Extiende services/resume_service.py
  • Configuración: Actualiza core/config.py

📁 Aspectos Destacados de la Organización:

  • Compatible con Streamlit: app.py permanece en la raíz para el despliegue
  • Agrupación Lógica: Archivos organizados por funcionalidad, no arbitrariamente
  • Raíz Limpia: Sin desorden—solo archivos esenciales visibles
  • Paquetes de Python: Archivos __init__.py adecuados para importaciones limpias

Aspectos Destacados de la Arquitectura:

  • Reducción del 88% en la complejidad del archivo principal (1,500 → 180 líneas)
  • 8 módulos enfocados en lugar de una estructura monolítica
  • Dependencias claras y relaciones de importación
  • Principio de responsabilidad única en todo el proyecto

🚀 Primeros Pasos

  1. Clona e Instala

    git clone <your-repo>
    cd mcp-resume
    pip install -r requirements.txt
    
  2. Ejecuta Localmente

    streamlit run app.py
    
  3. Configura y Chatea

    • Navega a http://localhost:8501
    • Obtén una clave API gratuita en OpenRouter.ai
    • Añade tu clave API en la barra lateral
    • Cuando veas "✅ ¡Todos los Sistemas Listos!" ¡estás listo!
    • Comienza a chatear con el currículum de IA

🎨 Personalización

🏠 Añadiendo Tu Propio Currículum

Paso 1: Prepara Tus Datos del Currículum

{
  "personal_info": {
    "name": "Your Name",
    "title": "Your Professional Title",
    "email": "your.email@example.com",
    "phone": "+1-234-567-8900",
    "location": "Your City, Country",
    "linkedin": "https://linkedin.com/in/yourprofile",
    "github": "https://github.com/yourusername",
    "website": "https://yourwebsite.com"
  },
  "summary": "Your professional summary...",
  "experience": [
    {
      "company": "Company Name",
      "position": "Your Position",
      "duration": "2020 - Present",
      "description": "Your role description...",
      "achievements": ["Achievement 1", "Achievement 2"]
    }
  ],
  "skills": {
    "technical": ["Python", "JavaScript", "React"],
    "soft": ["Leadership", "Communication", "Problem Solving"]
  },
  "education": [
    {
      "institution": "University Name",
      "degree": "Bachelor of Science",
      "field": "Computer Science",
      "year": "2020"
    }
  ]
}

Paso 2: Actualiza los Archivos

  1. Reemplaza los datos del currículum: Actualiza data/michael_wybraniec_resume.json con tus datos
  2. Actualiza la marca: Modifica el encabezado en ui/ui_components.py
  3. Reemplaza el CV: Añade tu PDF a la carpeta data/
  4. Actualiza la configuración: Modifica las constantes en core/config.py

🤖 Configuración del LLM

Añadiendo Nuevos Proveedores

# In services/llm_providers.py
class CustomProvider(LLMProvider):
    def __init__(self):
        super().__init__("custom_provider")
    
    def chat_completion(self, messages, model, api_key):
        # Your custom implementation
        response = your_api_call(messages, model, api_key)
        return response.choices[0].message.content

Personalizando los Prompts del Sistema

# In services/llm_providers.py
SYSTEM_PROMPT = """
You are an AI assistant helping with resume analysis.
Customize this prompt for your specific needs.
"""

🎨 Personalización de la UI

Marca y Colores

# In ui/ui_components.py
def render_header():
    st.markdown("""
    <div style="background: linear-gradient(90deg, #your-color-1, #your-color-2);">
        <h1>Your Name - AI Resume</h1>
    </div>
    """, unsafe_allow_html=True)

Acciones Rápidas Personalizadas

# In ui/ui_components.py
def render_quick_actions():
    col1, col2 = st.columns(2)
    with col1:
        if st.button("🎯 Your Custom Action"):
            # Your custom logic
            pass

Estilos Personalizados

# In ui/ui_components.py
def apply_custom_css():
    st.markdown("""
    <style>
    .custom-chat-message {
        background-color: #your-color;
        border-radius: 10px;
        padding: 10px;
    }
    </style>
    """, unsafe_allow_html=True)

📄 Personalización de Exportación

Plantillas PDF Personalizadas

# In services/document_generator.py
def generate_custom_cv(resume_data):
    # Custom PDF generation logic
    # Add your company logo, custom fonts, etc.
    pass

Múltiples Formatos de Exportación

# Add new export methods
def export_to_docx(resume_data):
    # DOCX export implementation
    pass

def export_to_html(resume_data):
    # HTML export implementation
    pass

🔧 Personalización Avanzada

Fuentes de Datos Personalizadas

# In services/resume_service.py
def get_custom_context(query):
    # Add integration with external APIs
    # LinkedIn API, GitHub API, etc.
    pass

Integración de Analíticas

# Add usage tracking
def track_interaction(user_query, response_time):
    # Google Analytics, Mixpanel, etc.
    pass

Soporte Multilingüe

# In core/config.py
SUPPORTED_LANGUAGES = {
    'en': 'English',
    'es': 'Español',
    'fr': 'Français',
    'de': 'Deutsch'
}

🚀 Personalización del Despliegue

Variables de Entorno

# .env file
RESUME_OWNER_NAME="Your Name"
RESUME_OWNER_TITLE="Your Title"
CUSTOM_BRAND_COLOR="#your-color"
ENABLE_ANALYTICS=true

Configuración de Streamlit

# .streamlit/config.toml
[theme]
primaryColor = "#your-color"
backgroundColor = "#ffffff"
secondaryBackgroundColor = "#f0f2f6"
textColor = "#262730"

📚 Ejemplos de Personalización

Ejemplo 1: Currículum de Desarrollador de Software

  • Énfasis en habilidades técnicas
  • Integración con GitHub
  • Muestra de portafolio de proyectos
  • Ejemplos de fragmentos de código

Ejemplo 2: Currículum de Profesional de Marketing

  • Enfoque en métricas de campañas
  • Integración con redes sociales
  • Métricas de conocimiento de marca
  • Enlaces a portafolio creativo

Ejemplo 3: Currículum de Científico de Datos

  • Muestra de modelos de ML
  • Publicaciones de investigación
  • Ejemplos de visualización de datos
  • Integración con blog técnico

🔧 Añadiendo Nuevas Funciones

Lista de Verificación para el Desarrollo de Funciones

  • Planifica la función - Define requisitos y alcance
  • Elige la capa adecuada - UI, Servicios, Núcleo o Datos
  • Implementa de forma incremental - Comienza con la funcionalidad principal
  • Añade configuración - Hazla personalizable
  • Actualiza la documentación - Documenta las nuevas funciones
  • Prueba a fondo - Asegúrate de que funcione con las funciones existentes
  • Considera el despliegue - Actualiza las configuraciones de despliegue si es necesario

Puntos de Extensión Comunes

  • Nuevo Formato de Exportación: Extiende document_generator.py
  • Fuentes de Datos Adicionales: Modifica resume_service.py
  • Nuevos Componentes de UI: Añade a ui_components.py
  • Lógica de Sesión Personalizada: Extiende session_manager.py
  • Nuevos Proveedores de LLM: Añade a llm_providers.py
  • Opciones de Configuración: Actualiza core/config.py

🛠️ Desarrollo

Configuración de Desarrollo

# Clone and setup
git clone https://github.com/michaelwybraniec/mcp-resume.git
cd mcp-resume

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install development dependencies
pip install -r requirements.txt

# Run in development mode
streamlit run app.py --server.runOnSave true

Resumen de la Estructura del Proyecto

mcp-resume/
├── 🏠 app.py                    # Main Streamlit application
├── 🔧 core/                     # Configuration and data models
├── ⚙️ services/                 # Business logic and integrations
├── 🎨 ui/                       # User interface components
├── 📊 data/                     # Resume data files
└── 🔨 utils/                    # Utility scripts

Archivos Clave de Desarrollo

ArchivoPropósitoFunciones Clave
app.pyPunto de entrada principalInicialización de la aplicación, procesamiento de mensajes
core/config.pyConfiguraciónAjustes de la aplicación, constantes, configuraciones de modelos
services/llm_providers.pyIntegración de IAImplementaciones de proveedores de LLM
services/resume_service.pyManejo de datosGeneración de contexto del currículum
ui/ui_components.pyComponentes de UIInterfaz de chat, modales, estilos
ui/session_manager.pyGestión de estadoInicialización y gestión de sesiones

Añadiendo Nuevos Proveedores de LLM

  1. Extiende la clase del proveedor en services/llm_providers.py:
class NewProvider(LLMProvider):
    def __init__(self):
        super().__init__("new_provider")
    
    def chat_completion(self, messages, model, api_key):
        # Implementation here
        pass
  1. Añade al registro de proveedores en el mismo archivo
  2. Actualiza la configuración en core/config.py

Pruebas

# Run the application
streamlit run app.py

# Test different providers
# - OpenRouter: Use free models
# - Ollama: Run locally with `ollama serve`
# - OpenAI: Use your API key

Estilo de Código

  • Sigue las pautas de PEP 8
  • Usa sugerencias de tipo cuando sea posible
  • Añade docstrings para funciones y clases
  • Mantén las funciones enfocadas y de un solo propósito

❓ Solución de Problemas

Problemas Comunes

🔑 Problemas con la Clave API

# Issue: "API Key Required" error
# Solution: 
1. Get free API key from https://openrouter.ai
2. Add key in sidebar or Streamlit secrets
3. Ensure no extra spaces in the key

🐍 Problemas de Versión de Python

# Issue: Import errors or compatibility issues
# Solution:
python --version  # Should be 3.11+
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

🌐 Problemas de Conexión con Streamlit

# Issue: App won't start or connection refused
# Solution:
streamlit run app.py --server.port 8501
# Check if port 8501 is available
# Try different port: --server.port 8502

🤖 Problemas con el Proveedor de LLM

OpenRouter:

  • Asegúrate de que la clave API sea válida y tenga créditos
  • Prueba diferentes modelos gratuitos
  • Revisa los límites de velocidad

Ollama:

# Ensure Ollama is running
ollama serve

# Install required models
ollama pull llama3.2
ollama pull llama3.1

OpenAI:

  • Verifica que la clave API sea válida
  • Revisa la facturación y los límites de uso
  • Asegúrate de que el modelo esté disponible

📱 Problemas de UI

  • Limpia la caché del navegador
  • Prueba con un navegador diferente
  • Revisa la consola para errores de JavaScript
  • Asegúrate de tener una conexión a internet estable

Obteniendo Ayuda

  1. Revisa los registros en Streamlit para mensajes de error
  2. Verifica la configuración en la barra lateral
  3. Prueba con diferentes proveedores para aislar problemas
  4. Revisa el indicador de estado del sistema en la aplicación

📞 Contacto y Soporte

  • Desarrollador: Michael Wybraniec
  • Sitio Web: One-Front.com
  • LinkedIn: Conecta con Michael
  • Soluciones de IA Personalizadas: Contacta a través de One-Front para implementaciones empresariales

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT—consulta el archivo LICENSE para más detalles.

Qué significa esto:

  • ✅ Gratis para usar en proyectos personales y comerciales
  • ✅ Modificar y distribuir según sea necesario
  • ✅ Uso privado permitido
  • ✅ Atribución apreciada pero no requerida

Pautas de Uso:

  • Siéntete libre de hacer un fork y personalizarlo para tu propio currículum
  • Se permite el uso comercial
  • Considera dar crédito si te resulta útil
  • Reporta problemas o contribuye con mejoras a través de GitHub

🛠️ Actualizaciones Recientes

  • ✅ Arquitectura Modular: Refactorizado en 8 módulos enfocados para mejor mantenibilidad
  • 🎯 Reducción del 88% en Código: La aplicación principal ahora tiene solo 180 líneas frente a las 1,500 originales
  • 📚 Documentación Mejorada: Responsabilidades claras de los módulos y resumen de la arquitectura
  • 🔧 Comprobabilidad Mejorada: Cada módulo puede probarse de forma independiente
  • 🚀 Mejor Escalabilidad: Fácil añadir funciones sin tocar el código existente
  • 📱 Todas las Funciones Mantenidas: Funcionalidad completa preservada en una estructura más limpia
  • 🆕 README Mejorado: Documentación moderna con guías completas
  • ⚖️ Cumplimiento de la Ley de IA: Implementación completa del marco de cumplimiento de la Ley de IA de la UE
  • 🔍 Monitoreo Avanzado: Monitoreo de cumplimiento en tiempo real con alertas automatizadas
  • 📋 Procedimientos de Auditoría: Marco de auditoría integral con listas de verificación estandarizadas
  • 📊 Analíticas de Rendimiento: Analíticas avanzadas con análisis de tendencias e información
  • 🔍 Evaluación de Conformidad: Procedimientos sistemáticos de evaluación para la preparación de certificaciones
  • 📋 Preparación para Certificación: Gestión completa de documentos para el envío regulatorio
  • ✅ Validación de Cumplimiento: Validación automatizada y manual con elegibilidad de certificación

🎯 Hoja de Ruta

Funciones Planificadas

  • Soporte Multilingüe - Soporte para diferentes idiomas
  • Analíticas Avanzadas - Estadísticas de uso e información
  • Temas Personalizados - Múltiples temas de UI y opciones de marca
  • Endpoints de API - API REST para acceso programático
  • Exportación Mejorada - Múltiples formatos de documentos (DOCX, HTML, etc.)
  • Interfaz de Voz - Capacidades de voz a texto y texto a voz
  • Fase 5: Cumplimiento Continuo - Mantenimiento y monitoreo continuo del cumplimiento
  • Informes de Cumplimiento - Informes y paneles de cumplimiento automatizados
  • Actualizaciones Regulatorias - Actualizaciones automáticas para cambios regulatorios
  • Integraciones de Terceros - Integración con plataformas de gestión de cumplimiento

Contribuciones

¡Agradecemos las contribuciones! Consulta nuestras Pautas de Contribución para más detalles.


🚀 ¿Listo para revolucionar las interacciones con currículums?

¡Despliega tu currículum impulsado por IA hoy con arquitectura de nivel profesional y cumplimiento completo de la Ley de IA de la UE!

Deploy to Streamlit Cloud AI Act Compliant

🎯 ¿Por Qué Elegir Este Currículum de IA?

  • ✅ Totalmente Cumplidor - Implementación completa del cumplimiento de la Ley de IA de la UE
  • 🏗️ Arquitectura Profesional - Diseño modular de nivel empresarial
  • 🔍 Monitoreo Avanzado - Monitoreo de cumplimiento y rendimiento en tiempo real
  • 📋 Listo para Auditoría - Documentación completa y rastros de auditoría
  • 🚀 Despliegue Fácil - Despliega en Streamlit Cloud en minutos
  • 🆓 Gratis para Usar - Código abierto con licencia MIT

Construido con ❤️ por Michael Wybraniec