arrow_backBack to All Projects
AI & MLFull-Stack
PROJECT CASE STUDY // TECHNICAL NARRATIVE
AI Career CoPilot
Multi-Agent Job Discovery & Kanban Tracking Pipeline Engine
YOUR ROLE & SCOPEFull-Stack AI Engineer
TIMELINE6 Weeks
CORE CONSTRAINTSManaging LLM API rate limits during high-volume job description processing.
error_outline
1. THE PROBLEM
Applying for technical jobs requires hours of manual work tailoring cover letters, matching key experience items to job specs, and tracking application state.
architecture
2. TECHNICAL APPROACH & DECISIONS
1Decoupled Celery Worker Architecture
✓ DECISION CHOSEN
Offloaded heavy multi-agent LLM calls to background Celery tasks backed by Redis.
✕ REJECTED ALTERNATIVE
Synchronous HTTP API calls
Asynchronous queue workers prevent HTTP gateway timeouts during multi-step agent execution.
code
CORE ARCHITECTURAL LOGIC
pythontasks/worker.py
Asynchronous Celery worker task decoupling multi-agent LLM pipeline execution.
tasks/worker.py
| 1 | @celery_app.task(bind=True, max_retries=3, default_retry_delay=5) |
| 2 | def orchestrate_job_tailoring_task(self, job_id: str, user_id: str): |
| 3 | job_desc = db.fetch_job(job_id) |
| 4 | user_projects = chroma_vector_store.query_relevant_projects(job_desc.text, k=3) |
| 5 | |
| 6 | # Trigger multi-agent pipeline asynchronously |
| 7 | tailored_resume = agent_orchestrator.run( |
| 8 | agents=["ats_parser", "bullet_optimizer", "cover_letter_writer"], |
| 9 | context={"job": job_desc, "projects": user_projects} |
| 10 | ) |
| 11 | kanban_service.update_application_status(job_id, status="READY_TO_APPLY") |
balance
3. TRADE-OFFS & HONEST REFLECTION
Managing Redis infrastructure added deployment complexity, but completely eliminated UI freeze during agent generation.
task_alt
4. CONCRETE OUTCOME & METRICS
Automated candidate-job alignment, custom cover letter drafting, and real-time Kanban pipeline state updates.
Celery + RedisTask Queue
ChromaDB Embedding StoreVector DB
FastAPI Async PipelineOrchestration
Explore Project Sources
Review live deployment or inspect codebase on GitHub.