MCP Resume Server

Fetches resume data from a GitHub gist to provide professional background context to LLMs.

πŸ€– AI Resume - Interactive Chat Interface

Streamlit Python OpenAI License Deploy

Chat with Michael Wybraniec's AI-powered resume using open-source LLMs - Deploy for FREE!

✨ Built with a clean, modular architecture for maximum maintainability and scalability.

πŸ“‹ Table of Contents

πŸš€ Features

🎯 Core Functionality

  • πŸ“„ Interactive Resume Chat - Ask any question about Michael's background and experience
  • 🎯 Smart Context Retrieval - Intelligent context selection based on user questions
  • πŸ“„ PDF Download - Generate and download professional CV on demand
  • 🎯 Smart Matching - Job description analysis for recruiter insights

πŸ€– AI & LLM Integration

  • πŸ€– Multiple LLM Providers - OpenRouter (free models), OpenAI, Ollama (local)
  • ⚑ Real-time Responses - Instant responses with intelligent context retrieval
  • πŸ†“ Free Models Available - Use powerful open-source models at no cost
  • πŸ”§ Flexible Configuration - Easy switching between different AI providers

🎨 User Experience

  • πŸ’¬ Modern Chat UI - Beautiful Streamlit interface with quick action buttons
  • πŸ“± Mobile Responsive - Works perfectly on all devices and screen sizes
  • βœ… System Status - Real-time status indicator shows when all systems are ready
  • πŸ”§ Auto-Configuration - Smart setup flow with contextual help
  • ⚑ Quick Actions - One-click access to common tasks and insights

πŸ—οΈ Technical Excellence

  • πŸ—οΈ Purpose-Based Architecture - Professional project organization with logical file grouping
  • πŸ†“ Free Deployment - Deploy on Streamlit Cloud for free
  • πŸ“¦ Modular Design - Clean separation of concerns for maintainability
  • πŸ”§ Easy Customization - Simple to adapt for your own resume and branding

βš–οΈ AI Act Compliance

  • βœ… Full EU AI Act Compliance - Complete implementation of all high-risk AI system requirements
  • πŸ” Advanced Monitoring - Real-time compliance monitoring with automated alerting
  • πŸ“‹ Audit Procedures - Comprehensive audit framework with standardized checklists
  • πŸ“Š Performance Analytics - Advanced analytics with trend analysis and insights
  • πŸ” Conformity Assessment - Systematic assessment procedures for certification readiness
  • πŸ“‹ Certification Preparation - Complete document management for regulatory submission
  • βœ… Compliance Validation - Automated and manual validation with certification eligibility

🎬 Live Demo

πŸš€ Try it now! Deploy your own instance on Streamlit Cloud or run locally.

πŸ“± Screenshots

Coming soon: Interactive screenshots and demo GIFs

🎯 What You Can Do

  • πŸ’¬ Chat with the AI - Ask questions about experience, skills, and projects
  • πŸ“„ Download CV - Generate professional PDF resumes
  • 🎯 Smart Matching - Analyze job descriptions for fit
  • ⚑ Quick Actions - Get instant insights with one-click buttons

🎯 Quick Start (Local)

Prerequisites

  • Python 3.11 or higher
  • Git

Installation Steps

# 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

πŸš€ First Run

  1. Open your browser to http://localhost:8501
  2. Get a free API key from OpenRouter.ai
  3. Add your API key in the sidebar
  4. Look for "βœ… All Systems Ready!" status
  5. Start chatting! πŸŽ‰

πŸ’‘ Pro Tip: Use the free model meta-llama/llama-3.1-8b-instruct:free for testing!

🌟 Deploy to Streamlit Cloud (FREE!)

1. Push to GitHub

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

2. Deploy on Streamlit Cloud

  1. Go to share.streamlit.io
  2. Connect your GitHub account
  3. Select your repository
  4. Set main file path: app.py
  5. Click "Deploy"!

3. Configure Secrets (Optional)

For enhanced LLM providers, add secrets in Streamlit Cloud dashboard:

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

4. Your app is live! πŸŽ‰

You'll get a URL like: https://your-username-mcp-resume-app-xyz.streamlit.app

πŸ€– LLM Provider Setup

Option 1: OpenRouter (Recommended)

  • Free models available!
  • Sign up at OpenRouter
  • Get API key and add via the sidebar or Streamlit secrets
  • Use free models like meta-llama/llama-3.1-8b-instruct:free

Option 2: Ollama (Local Development)

# 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

Option 3: OpenAI (Paid)

  • Get API key from OpenAI
  • Add to Streamlit secrets or enter in the app

πŸ—οΈ Architecture

Purpose-Based Organization:

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

System Architecture Diagram:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        🌐 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   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Flow:

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

βš–οΈ AI Act Compliance

🎯 Overview

This AI Resume system is fully compliant with the EU AI Act regulations for high-risk AI systems. The system has been designed and implemented with comprehensive compliance measures across all required areas.

πŸ“Š Compliance Status

Compliance AreaStatusImplementation
Article 9: Risk Managementβœ… COMPLIANTComprehensive risk management system with automated assessment
Article 10: Data Governanceβœ… COMPLIANTData quality management and processing record systems
Article 11: Technical Documentationβœ… COMPLIANTComplete system architecture and algorithm documentation
Article 12: Record Keepingβœ… COMPLIANTComprehensive audit trails and operation logging
Article 13: Transparencyβœ… COMPLIANTAI transparency notices and user information provision
Article 14: Human Oversightβœ… COMPLIANTHuman oversight mechanisms and response flagging
Article 15: Accuracy & Cybersecurityβœ… COMPLIANTSystem accuracy monitoring and security measures

πŸ” Compliance Features

Phase 1: Immediate Compliance Measures

  • βœ… AI Transparency Notices - Clear notices about AI system usage and limitations
  • βœ… Human Oversight Dashboard - Real-time monitoring of flagged responses
  • βœ… Response Flagging System - Users can flag AI responses for human review
  • βœ… User Rights Information - Comprehensive information about user rights and system capabilities

Phase 2: Core Compliance Implementation

  • βœ… Risk Management System - Automated risk identification, assessment, and mitigation
  • βœ… Data Governance Framework - Data quality assessment and processing record management
  • βœ… Technical Documentation - Complete system architecture and compliance documentation
  • βœ… Record Keeping System - Comprehensive user interaction logging and audit trails

Phase 3: Advanced Compliance

  • βœ… Advanced Monitoring - Real-time compliance monitoring with automated alerting
  • βœ… Audit Procedures - Comprehensive audit framework with standardized checklists
  • βœ… Performance Analytics - Advanced analytics with trend analysis and insights
  • βœ… Compliance Alerting - Intelligent alert system with threshold-based notifications

Phase 4: Conformity Assessment & Certification

  • βœ… Conformity Assessment Framework - Systematic assessment procedures with standardized criteria
  • βœ… Certification Preparation - Complete document management and application procedures
  • βœ… Compliance Validation - Automated and manual validation with certification readiness
  • βœ… Regulatory Documentation - Prepared documentation for regulatory submission

πŸ“‹ Compliance Dashboard

The system includes a comprehensive compliance dashboard accessible through the sidebar that provides:

  • Real-time Compliance Status - Live monitoring of all compliance systems
  • Risk Management Metrics - Risk levels, mitigation status, and trend analysis
  • Data Governance Status - Data quality scores and processing compliance
  • Audit Trail Monitoring - System operation logs and audit trail integrity
  • Performance Analytics - Compliance KPIs and trend analysis
  • Certification Readiness - Real-time assessment of certification eligibility

πŸ”§ Compliance Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    βš–οΈ 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      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“„ Compliance Documentation

  • AI_ACT_COMPLIANCE.md - Comprehensive compliance documentation
  • services/risk_management.py - Risk management system implementation
  • services/data_governance.py - Data governance and quality management
  • services/record_keeping.py - Record keeping and audit trail system
  • services/compliance_monitoring.py - Advanced monitoring and alerting
  • services/audit_procedures.py - Audit procedures and protocols
  • services/performance_analytics.py - Performance analytics and insights
  • services/conformity_assessment.py - Conformity assessment framework
  • services/certification_preparation.py - Certification preparation system
  • services/compliance_validation.py - Compliance validation procedures

🎯 Compliance Benefits

  • βœ… Regulatory Compliance - Full adherence to EU AI Act requirements
  • βœ… Risk Mitigation - Comprehensive risk management and monitoring
  • βœ… Transparency - Clear AI system information and user rights
  • βœ… Human Oversight - Effective human control and review mechanisms
  • βœ… Audit Readiness - Complete documentation and audit trails
  • βœ… Certification Ready - Prepared for official compliance certification

Module Responsibilities:

πŸ”§ Core Layer

  • core/config.py - Configuration, constants, and settings
  • core/models.py - Data models and type definitions

🎨 UI Layer

  • ui/ui_components.py - UI components, styling, and modals
  • ui/session_manager.py - Session state management and initialization

βš™οΈ Services Layer

  • services/resume_service.py - Resume data retrieval and context generation
  • services/llm_providers.py - LLM provider implementations and unified chat interface
  • services/document_generator.py - PDF generation and export functionality
  • services/fallback_resume.py - Resume data service and context management

πŸ“Š Data Layer

  • data/ - Resume JSON files and PDF assets
  • utils/ - Utility scripts and helper functions

πŸ’‘ Usage Examples

πŸ’¬ Chat Examples:

  • "Tell me about Michael's work experience"
  • "What are his technical skills?"
  • "Summarize his background for a recruiter"
  • "Find projects involving JavaScript"
  • "What's his experience with AI and machine learning?"
  • "How many years of Python experience does he have?"
  • "Has he worked with AI/ML technologies?"
  • "What industries has he worked in?"

⚑ Quick Actions:

  • πŸ‘€ Summarize Profile - Get comprehensive candidate overview
  • πŸ“… Years Experience - View career progression timeline
  • πŸ› οΈ Technical Skills - Analyze technical competencies
  • 🎯 Smart Match - Job fit analysis with match scores
  • πŸ“„ Download CV - Professional PDF resume

🎯 For Recruiters & HR:

  • "Is this candidate suitable for a senior developer role?"
  • "What's their leadership experience?"
  • "Do they have experience with cloud platforms?"
  • "Rate their frontend vs backend skills"
  • "Analyze fit for this job description..." (paste job description)

πŸ”§ Features & Functionality

πŸ“± Modern Chat Interface

  • Clean, professional design with expanded sidebar
  • Quick action buttons for instant insights
  • Real-time system status indicator
  • Message timestamps and processing indicators
  • Mobile-responsive design

🎯 Smart Context Retrieval

  • Intelligent context selection based on user questions
  • Focused responses with relevant resume sections
  • Experience, skills, projects, and achievements matching
  • Job description analysis capabilities

πŸ“„ Professional CV Generation

  • Generate PDF CV on demand
  • Clean, professional formatting
  • Download directly from the interface

πŸ”§ Enhanced User Experience

  • System Status: Real-time indicator showing "All Systems Ready!" when configured
  • Help & Tips: Comprehensive setup guide and sample questions
  • Quick Actions: Organized, expandable panel for common tasks
  • Auto-Setup: Smart configuration flow with contextual guidance

🌐 Deployment Options

1. Streamlit Cloud (Recommended - Free) ⭐

  • Free hosting for public repositories
  • Automatic deployments from GitHub
  • Built-in secrets management
  • Perfect for demos and portfolios

2. Local Development

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

3. Other Cloud Platforms

  • Railway, Render, Heroku
  • Use provided requirements.txt and runtime.txt
  • Set startup command: streamlit run app.py --server.port $PORT

πŸ“ Project Structure

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

πŸ—οΈ Purpose-Based Architecture Benefits

πŸ”§ For Developers:

  • Easy Navigation: Find files by purpose (UI, services, data, etc.)
  • Maintainable: Clear separation of concerns across directories
  • Scalable: Add new features without touching existing modules
  • Testable: Each layer can be tested independently
  • Professional: Industry-standard project organization

πŸš€ For Features:

  • New LLM Providers: Extend services/llm_providers.py
  • UI Changes: Modify ui/ui_components.py
  • Export Formats: Add to services/document_generator.py
  • Data Sources: Extend services/resume_service.py
  • Configuration: Update core/config.py

πŸ“ Organization Highlights:

  • Streamlit Compatible: app.py stays in root for deployment
  • Logical Grouping: Files organized by functionality, not arbitrarily
  • Clean Root: No clutter - only essential files visible
  • Python Packages: Proper __init__.py files for clean imports

Architecture Highlights:

  • 88% reduction in main file complexity (1,500 β†’ 180 lines)
  • 8 focused modules instead of monolithic structure
  • Clear dependencies and import relationships
  • Single responsibility principle throughout

πŸš€ Getting Started

  1. Clone and Install

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

    streamlit run app.py
    
  3. Configure & Chat

    • Navigate to http://localhost:8501
    • Get a free API key from OpenRouter.ai
    • Add your API key in the sidebar
    • When you see "βœ… All Systems Ready!" you're good to go!
    • Start chatting with the AI resume!

🎨 Customization

🏠 Adding Your Own Resume

Step 1: Prepare Your Resume Data

{
  "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"
    }
  ]
}

Step 2: Update Files

  1. Replace resume data: Update data/michael_wybraniec_resume.json with your data
  2. Update branding: Modify header in ui/ui_components.py
  3. Replace CV: Add your PDF to data/ folder
  4. Update config: Modify constants in core/config.py

πŸ€– LLM Configuration

Adding New Providers

# 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

Customizing System Prompts

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

🎨 UI Customization

Branding & Colors

# 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)

Custom Quick Actions

# 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

Custom Styling

# 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)

πŸ“„ Export Customization

Custom PDF Templates

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

Multiple Export Formats

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

def export_to_html(resume_data):
    # HTML export implementation
    pass

πŸ”§ Advanced Customization

Custom Data Sources

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

Analytics Integration

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

Multi-language Support

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

πŸš€ Deployment Customization

Environment Variables

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

Streamlit Configuration

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

πŸ“š Customization Examples

Example 1: Software Developer Resume

  • Technical skills emphasis
  • GitHub integration
  • Project portfolio showcase
  • Code snippet examples

Example 2: Marketing Professional Resume

  • Campaign metrics focus
  • Social media integration
  • Brand awareness metrics
  • Creative portfolio links

Example 3: Data Scientist Resume

  • ML model showcase
  • Research publications
  • Data visualization examples
  • Technical blog integration

πŸ”§ Adding New Features

Feature Development Checklist

  • Plan the feature - Define requirements and scope
  • Choose the right layer - UI, Services, Core, or Data
  • Implement incrementally - Start with core functionality
  • Add configuration - Make it customizable
  • Update documentation - Document new features
  • Test thoroughly - Ensure it works with existing features
  • Consider deployment - Update deployment configs if needed

Common Extension Points

  • New Export Format: Extend document_generator.py
  • Additional Data Sources: Modify resume_service.py
  • New UI Components: Add to ui_components.py
  • Custom Session Logic: Extend session_manager.py
  • New LLM Providers: Add to llm_providers.py
  • Configuration Options: Update core/config.py

πŸ› οΈ Development

Development Setup

# 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

Project Structure Overview

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

Key Development Files

FilePurposeKey Functions
app.pyMain entry pointApplication initialization, message processing
core/config.pyConfigurationApp settings, constants, model configurations
services/llm_providers.pyAI IntegrationLLM provider implementations
services/resume_service.pyData handlingResume context generation
ui/ui_components.pyUI ComponentsChat interface, modals, styling
ui/session_manager.pyState managementSession initialization and management

Adding New LLM Providers

  1. Extend the provider class in 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. Add to provider registry in the same file
  2. Update configuration in core/config.py

Testing

# 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

Code Style

  • Follow PEP 8 guidelines
  • Use type hints where possible
  • Add docstrings for functions and classes
  • Keep functions focused and single-purpose

❓ Troubleshooting

Common Issues

πŸ”‘ API Key Problems

# 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

🐍 Python Version Issues

# 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

🌐 Streamlit Connection Issues

# 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

πŸ€– LLM Provider Issues

OpenRouter:

  • Ensure API key is valid and has credits
  • Try different free models
  • Check rate limits

Ollama:

# Ensure Ollama is running
ollama serve

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

OpenAI:

  • Verify API key is valid
  • Check billing and usage limits
  • Ensure model is available

πŸ“± UI Issues

  • Clear browser cache
  • Try different browser
  • Check console for JavaScript errors
  • Ensure stable internet connection

Getting Help

  1. Check the logs in Streamlit for error messages
  2. Verify configuration in the sidebar
  3. Test with different providers to isolate issues
  4. Check system status indicator in the app

πŸ“ž Contact & Support

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

What this means:

  • βœ… Free to use for personal and commercial projects
  • βœ… Modify and distribute as needed
  • βœ… Private use allowed
  • βœ… Attribution appreciated but not required

Usage Guidelines:

  • Feel free to fork and customize for your own resume
  • Commercial use is permitted
  • Please consider giving credit if you find it helpful
  • Report issues or contribute improvements via GitHub

πŸ› οΈ Recent Updates

  • βœ… Modular Architecture: Refactored into 8 focused modules for better maintainability
  • 🎯 88% Code Reduction: Main app now just 180 lines vs original 1,500
  • πŸ“š Improved Documentation: Clear module responsibilities and architecture overview
  • πŸ”§ Enhanced Testability: Each module can be tested independently
  • πŸš€ Better Scalability: Easy to add features without touching existing code
  • πŸ“± Maintained All Features: Full functionality preserved in cleaner structure
  • πŸ†• Enhanced README: Modern documentation with comprehensive guides
  • βš–οΈ AI Act Compliance: Complete implementation of EU AI Act compliance framework
  • πŸ” Advanced Monitoring: Real-time compliance monitoring with automated alerting
  • πŸ“‹ Audit Procedures: Comprehensive audit framework with standardized checklists
  • πŸ“Š Performance Analytics: Advanced analytics with trend analysis and insights
  • πŸ” Conformity Assessment: Systematic assessment procedures for certification readiness
  • πŸ“‹ Certification Preparation: Complete document management for regulatory submission
  • βœ… Compliance Validation: Automated and manual validation with certification eligibility

🎯 Roadmap

Planned Features

  • Multi-language Support - Support for different languages
  • Advanced Analytics - Usage statistics and insights
  • Custom Themes - Multiple UI themes and branding options
  • API Endpoints - REST API for programmatic access
  • Enhanced Export - Multiple document formats (DOCX, HTML, etc.)
  • Voice Interface - Speech-to-text and text-to-speech capabilities
  • Phase 5: Ongoing Compliance - Continuous compliance maintenance and monitoring
  • Compliance Reporting - Automated compliance reports and dashboards
  • Regulatory Updates - Automatic updates for regulatory changes
  • Third-party Integrations - Integration with compliance management platforms

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.


πŸš€ Ready to revolutionize resume interactions?

Deploy your AI-powered resume today with professional-grade architecture and full EU AI Act compliance!

Deploy to Streamlit Cloud AI Act Compliant

🎯 Why Choose This AI Resume?

  • βœ… Fully Compliant - Complete EU AI Act compliance implementation
  • πŸ—οΈ Professional Architecture - Enterprise-grade modular design
  • πŸ” Advanced Monitoring - Real-time compliance and performance monitoring
  • πŸ“‹ Audit Ready - Comprehensive documentation and audit trails
  • πŸš€ Easy Deployment - Deploy to Streamlit Cloud in minutes
  • πŸ†“ Free to Use - Open source with MIT license

Built with ❀️ by Michael Wybraniec

Related Servers