This document outlines the architecture of the AI Job Hunt system.
The AI Job Hunt system consists of the following main components:
-
API Layer
- FastAPI-based RESTful API
- Handles incoming requests and responses
- Routes in
api/directory
-
Agents
resume_optimizer_agent.py- Optimizes resumes using LLMjob_description_agent.py- Analyzes job descriptions using LLMapplication_agent.py- Handles application automation and submission
-
Services
db_manager.py- Handles database operationsllm_service.py- Provides LLM integrationresume_parser.py- Parses and extracts information from resumes- Other utility services
-
Models
- Data models for applications, jobs, and resumes
- Located in
models/directory
-
Utilities
- Logger
- File utilities
- Automation helpers
- Streamlit dashboard for visualization and interaction
- Located in
frontend/directory
- Resume is uploaded and parsed by
resume_parser.py - Job descriptions are analyzed by
job_description_agent.py - Resumes are optimized by
resume_optimizer_agent.py - Applications are submitted by
application_agent.py - All data is stored and retrieved using
db_manager.py
- Python 3.8+
- FastAPI for backend API
- Streamlit for frontend dashboard
- SQLite for database (via SQLAlchemy)
- Ollama for local LLM inference
- Selenium/Playwright for web automation