app / README.md
CareerAI-app's picture
Deploy CareerAI to HuggingFace Spaces
b7934cd
metadata
title: CareerAI
emoji: 🚀
colorFrom: green
colorTo: blue
sdk: docker
app_port: 7860
pinned: true

CareerAI Logo

CareerAI

🧠 AI-Powered Career Assistant | Asistente Inteligente de Carrera
Analyze your CV · Generate Cover Letters · Simulate Interviews · Search Jobs

Python FastAPI Groq ChromaDB License

🇺🇸 English · 🇦🇷 Español


🇺🇸 English

🎬 What is CareerAI?

CareerAI is an AI-powered web application that helps you boost your professional career. Upload your documents (CV, cover letters, certificates) and the AI assistant analyzes them using advanced Retrieval-Augmented Generation (RAG) to give you personalized recommendations, generate professional documents, and prepare you for job interviews.

✨ 100% Free · No hallucinations · Based on your real documents


🚀 Key Features

🤖 Custom AI Models

Model Engine Description
🧠 CareerAI Pro Llama 3.3 70B Maximum quality · Detailed responses
CareerAI Flash Llama 3.1 8B Ultra fast · Instant responses

💬 5 Assistant Modes

Mode What it does
💬 General Chat Ask anything about your professional career
🎯 Job Match Analyze your compatibility with job offers (% match)
✉️ Cover Letter Generate personalized cover letters using your real CV
📈 Skills Gap Identify missing skills + roadmap to improve
🎤 Interview Simulate interviews with technical and STAR method questions

📋 Full Feature List

Feature Description
📄 Multi-format Supports PDF, DOCX, TXT, images (JPG, PNG, WebP)
🖼️ Vision AI Smart reading of scanned PDFs and document photos
Streaming Real-time token-by-token responses
📤 Premium Export Export to PDF, DOCX, HTML, TXT with professional formatting
📊 Dashboard Skills charts, professional timeline, AI insights
🔐 Full Auth Register, login, Google OAuth, password reset
💼 Job Search Integration with LinkedIn, Indeed, Glassdoor via JSearch
🎨 Premium UI Claude/ChatGPT-style design with dark mode
📱 Responsive Works on desktop, tablet, and mobile
💾 Persistence Chat history synced to the cloud

🧠 RAG Pipeline v2.0

CareerAI uses an advanced retrieval pipeline combining multiple techniques to find the most relevant information from your documents:

📝 User Query
     │
     ├── 1️⃣ Vector Search (Semantic)
     │      └── ChromaDB + BGE-M3 (100+ languages)
     │
     ├── 2️⃣ Keyword Search (Lexical)
     │      └── BM25 lexical matching
     │
     ├── 3️⃣ Reciprocal Rank Fusion (RRF)
     │      └── Merges semantic + lexical results
     │
     ├── 4️⃣ Reranking (Cross-Encoder)
     │      └── BGE-Reranker-v2-m3 (relevance reordering)
     │
     └── 5️⃣ LLM with optimized context
            └── Groq + Llama 3.3 70B (streaming)

Available Embedding Models

Model Languages Size Performance
🌍 BGE-M3 (Recommended) 100+ ~2.3 GB ⭐⭐⭐⭐⭐
🚀 GTE Multilingual 70+ ~580 MB ⭐⭐⭐⭐
📐 Multilingual E5 100+ ~1.1 GB ⭐⭐⭐⭐
MiniLM v2 English ~90 MB ⭐⭐⭐

🛠️ Tech Stack

Layer Technology
Backend FastAPI + Uvicorn
Frontend HTML5 + CSS3 + JavaScript (Claude-style)
LLM Groq API (Llama 3.3 70B / Llama 3.1 8B)
RAG ChromaDB + BM25 + BGE-M3 + Reranker + RRF
Database SQLite + SQLAlchemy
Auth JWT + BCrypt + Google OAuth
Email FastAPI-Mail + Gmail SMTP
Vision AI Groq + Llama 4 Scout
Embeddings HuggingFace (BGE-M3, GTE, E5, MiniLM)
Export FPDF2, python-docx
Job Search JSearch API (RapidAPI)

� Installation & Setup

1. Clone the repository

git clone https://github.com/Nicola671/CareerAI.git
cd CareerAI

2. Create virtual environment

python -m venv venv

# Windows
venv\Scripts\activate

# Mac/Linux
source venv/bin/activate

3. Install dependencies

pip install -r requirements.txt

4. Configure environment variables

Create a .env file in the project root:

# Groq API Key (free from console.groq.com)
GROQ_API_KEY=your_api_key_here

# JWT Secret (change to something random)
SECRET_KEY=your_very_long_random_secret_key

# Email for password recovery (optional)
MAIL_USERNAME=your_email@gmail.com
MAIL_PASSWORD=your_app_password
MAIL_FROM=your_email@gmail.com

# JSearch API Key for job search (optional)
JSEARCH_API_KEY=your_jsearch_key

5. Get Groq API Key (FREE)

  1. Go to console.groq.com
  2. Create a free account
  3. Go to "API Keys" → "Create API Key"
  4. Copy your key (starts with gsk_...)
  5. Paste it in your .env file

6. Run

uvicorn api:app --reload --port 8000

Open http://localhost:8000 in your browser 🚀


� API Endpoints (22 routes)

Group Endpoints Description
🏠 Frontend GET / Serves the web app
⚙️ Config GET /api/status, POST /api/config Status & configuration
💬 Chat POST /api/chat, POST /api/chat/stream Chat with/without streaming
📄 Docs POST /api/documents, GET /api/documents, DELETE /api/documents/{file} Document CRUD
📤 Export POST /api/export, POST /api/export/conversation Export to PDF/DOCX/HTML/TXT
💼 Jobs GET /api/jobs Job search
📊 Dashboard GET /api/dashboard AI-powered profile analysis
🔐 Auth POST /api/auth/register, POST /api/auth/login, GET /api/auth/me Full authentication

Interactive API docs: http://localhost:8000/docs (Swagger UI)


📊 Project Metrics

Metric Value
Lines of code 8,400+
API Endpoints 22
Frontend functions 80+
Backend functions 60+
Assistant modes 5
Export formats 4 (PDF, DOCX, HTML, TXT)
Upload formats 7 (PDF, DOCX, TXT, JPG, PNG, WEBP)
Embedding models 4


🇦🇷 Español

🎬 ¿Qué es CareerAI?

CareerAI es una aplicación web de inteligencia artificial que te ayuda a impulsar tu carrera profesional. Subís tus documentos (CV, cartas, certificados) y el asistente los analiza con IA avanzada (RAG) para darte recomendaciones personalizadas, generar documentos profesionales y prepararte para entrevistas.

✨ Todo esto 100% gratis · Sin alucinaciones · Basado en tus documentos reales


🚀 Funcionalidades Principales

🤖 Modelos de IA Personalizados

Modelo Motor Descripción
🧠 CareerAI Pro Llama 3.3 70B Máxima calidad · Respuestas detalladas
CareerAI Flash Llama 3.1 8B Ultra rápido · Respuestas al instante

💬 5 Modos del Asistente

Modo Qué hace
💬 Chat General Consultá lo que quieras sobre tu carrera profesional
🎯 Job Match Analizá tu compatibilidad con ofertas de trabajo (% de match)
✉️ Cover Letter Generá cartas de presentación personalizadas usando tu CV real
📈 Skills Gap Identificá habilidades faltantes + roadmap para mejorar
🎤 Entrevista Simulá entrevistas con preguntas técnicas y método STAR

📋 Lista Completa de Características

Feature Descripción
📄 Multi-formato Soporta PDF, DOCX, TXT, imágenes (JPG, PNG, WebP)
🖼️ Vision AI Lectura inteligente de PDFs escaneados y fotos de documentos
Streaming Respuestas en tiempo real token por token
📤 Export Premium Exportá a PDF, DOCX, HTML, TXT con formato profesional
📊 Dashboard Gráficos de skills, timeline profesional, insights de IA
🔐 Auth Completo Registro, login, Google OAuth, reset de contraseña
💼 Búsqueda de Empleo Integración con LinkedIn, Indeed, Glassdoor via JSearch
🎨 UI Premium Diseño tipo Claude/ChatGPT con dark mode
📱 Responsive Funciona en desktop, tablet y celular
💾 Persistencia Historial de chats sincronizado en la nube

🧠 Pipeline RAG v2.0

CareerAI usa un pipeline de retrieval avanzado que combina múltiples técnicas para encontrar la información más relevante de tus documentos:

📝 Query del usuario
     │
     ├── 1️⃣ Vector Search (Semántico)
     │      └── ChromaDB + BGE-M3 (100+ idiomas)
     │
     ├── 2️⃣ Keyword Search (Léxico)
     │      └── BM25 lexical matching
     │
     ├── 3️⃣ Reciprocal Rank Fusion (RRF)
     │      └── Combina resultados semánticos + léxicos
     │
     ├── 4️⃣ Reranking (Cross-Encoder)
     │      └── BGE-Reranker-v2-m3 (reordena por relevancia)
     │
     └── 5️⃣ LLM con contexto optimizado
            └── Groq + Llama 3.3 70B (streaming)

🛠️ Stack Tecnológico

Capa Tecnología
Backend FastAPI + Uvicorn
Frontend HTML5 + CSS3 + JavaScript (estilo Claude)
LLM Groq API (Llama 3.3 70B / Llama 3.1 8B)
RAG ChromaDB + BM25 + BGE-M3 + Reranker + RRF
Base de datos SQLite + SQLAlchemy
Auth JWT + BCrypt + Google OAuth
Email FastAPI-Mail + Gmail SMTP
Vision AI Groq + Llama 4 Scout
Embeddings HuggingFace (BGE-M3, GTE, E5, MiniLM)
Exportación FPDF2, python-docx
Búsqueda JSearch API (RapidAPI)

🚀 Instalación y Setup

1. Clonar el repositorio

git clone https://github.com/Nicola671/CareerAI.git
cd CareerAI

2. Crear entorno virtual

python -m venv venv

# Windows
venv\Scripts\activate

# Mac/Linux
source venv/bin/activate

3. Instalar dependencias

pip install -r requirements.txt

4. Configurar variables de entorno

Creá un archivo .env en la raíz del proyecto:

# Groq API Key (gratis desde console.groq.com)
GROQ_API_KEY=tu_api_key_aqui

# JWT Secret (cambiá por algo aleatorio)
SECRET_KEY=tu_secret_key_muy_larga_y_aleatoria

# Email para recuperación de contraseña (opcional)
MAIL_USERNAME=tu_email@gmail.com
MAIL_PASSWORD=tu_app_password
MAIL_FROM=tu_email@gmail.com

# JSearch API Key para búsqueda de empleos (opcional)
JSEARCH_API_KEY=tu_jsearch_key

5. Obtener API Key de Groq (GRATIS)

  1. Andá a console.groq.com
  2. Creá una cuenta gratis
  3. Andá a "API Keys" → "Create API Key"
  4. Copiá tu key (empieza con gsk_...)
  5. Pegala en el archivo .env

6. Ejecutar

uvicorn api:app --reload --port 8000

Abrí http://localhost:8000 en tu navegador 🚀


� Estructura del Proyecto

CareerAI/
├── api.py                        # 🚀 Backend FastAPI (22 endpoints)
├── requirements.txt              # 📦 Dependencias Python
├── .env                          # 🔐 Variables de entorno (NO se sube a Git)
├── README.md                     # 📖 Este archivo
│
├── frontend/                     # 🎨 UI tipo Claude
│   ├── index.html                # Estructura HTML
│   ├── app.js                    # Lógica completa (1,842 líneas)
│   ├── styles.css                # Sistema de diseño (1,695 líneas)
│   ├── icon-pro.png              # 🧠 Icono CareerAI Pro
│   ├── icon-flash.png            # ⚡ Icono CareerAI Flash
│   └── favicon.png               # Favicon
│
├── src/                          # 🧠 Core Engine
│   ├── career_assistant.py       # Motor IA con 5 modos especializados
│   ├── rag_engine.py             # RAG v2.0 (Hybrid + Reranking + RRF)
│   ├── document_processor.py     # Procesador multi-formato + Vision AI
│   ├── profile_extractor.py      # Extractor de perfil para dashboard
│   ├── exporter.py               # Exportación PDF/DOCX/HTML/TXT
│   ├── auth.py                   # Autenticación (JWT + Google OAuth)
│   └── models.py                 # Modelos SQLAlchemy (User, Conversation)
│
└── data/                         # 💾 Datos (no se suben a Git)
    ├── uploads/                  # Documentos subidos
    └── vectordb/                 # ChromaDB persistencia

🆓 ¿Por qué es 100% Gratis? / Why is it 100% Free?

Component Cost
Groq API (Llama 3.3 70B) ✅ Free (generous rate limits)
BGE-M3 Embeddings ✅ Free (runs locally)
BGE-Reranker-v2-m3 ✅ Free (runs locally)
BM25 Keyword Search ✅ Free (runs locally)
ChromaDB Vector Store ✅ Free (runs locally)
FastAPI + Frontend ✅ Free (open source)
SQLite Database ✅ Free (runs locally)

🤝 Contributing

Contributions are welcome! If you want to improve CareerAI:

  1. Fork the repository
  2. Create a branch: git checkout -b feature/new-feature
  3. Commit: git commit -m "Add new feature"
  4. Push: git push origin feature/new-feature
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License. Feel free to use, modify, and distribute it.


👨‍💻 Author / Autor

Nicolás Medina

GitHub   LinkedIn   Email


If this project helped you, consider giving it a ⭐ on GitHub!
Si este proyecto te ayudó, ¡considerá darle una ⭐ en GitHub!


CareerAI v1.0 — FastAPI + RAG v2.0 + Groq
Made with ❤️ in Argentina 🇦🇷