---
title: CareerAI
emoji: 🚀
colorFrom: green
colorTo: blue
sdk: docker
app_port: 7860
pinned: true
---
CareerAI
🧠 AI-Powered Career Assistant | Asistente Inteligente de Carrera
Analyze your CV · Generate Cover Letters · Simulate Interviews · Search Jobs
🇺🇸 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
```bash
git clone https://github.com/Nicola671/CareerAI.git
cd CareerAI
```
### 2. Create virtual environment
```bash
python -m venv venv
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activate
```
### 3. Install dependencies
```bash
pip install -r requirements.txt
```
### 4. Configure environment variables
Create a `.env` file in the project root:
```env
# 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](https://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
```bash
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
```bash
git clone https://github.com/Nicola671/CareerAI.git
cd CareerAI
```
### 2. Crear entorno virtual
```bash
python -m venv venv
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activate
```
### 3. Instalar dependencias
```bash
pip install -r requirements.txt
```
### 4. Configurar variables de entorno
Creá un archivo `.env` en la raíz del proyecto:
```env
# 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](https://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
```bash
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
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 🇦🇷