How babarjanjua/career-pilot-ai works
Career Pilot AI is a career-application platform whose main flow analyzes a resume, finds and ranks jobs, presents recommendations for human approval, then generates materials for selected opportunities and tracks applications. The README documents the domain-stage sequence; sampled code confirms the review API’s workflow invocation and approval/resume behavior, the job-discovery implementation, and LLM service provider selection. Several other capabilities are represented from the README and repository tree, but their internal wiring is not inferred where source excerpts were unavailable.
Main entry points: careerpilot_workflow.py CareerPilot workflow · api_client.py Backend API client · generation_nodes.py Generation nodes · factory.py Provider selection
Components 31
User experience
- Streamlit dashboard
streamlit_app/app.py - Backend API client
streamlit_app/api_client.py
Career workflow
- Review endpoints
app/api/routes/careerpilot_review.py - Resume extraction
app/parsers/resume_parser.py - Resume intelligence
app/services/resume_intelligence_service.py - Job discovery
app/services/job_discovery_service.py - Job filtering
app/services/job_filter_service.py - Resume matching
app/services/resume_match_service.py - ATS optimization
app/services/ats_service.py - Application strategy
app/services/application_strategy_service.py - Approval guardrail
app/guardrails/human_review.py - CareerPilot workflow
app/workflows/careerpilot_workflow.py
Application generation
- Generation nodes
app/workflows/generation_nodes.py - Tailored resume
app/services/resume_tailor_service.py - Cover letter
app/services/cover_letter_service.py - Recruiter outreach
app/services/outreach_email_service.py - LinkedIn message
app/services/linkedin_message_service.py - Interview preparation
app/services/interview_prep_service.py
External integrations
- Application tracker
app/core/tracker_db.py - GitHub analysis
app/services/github_analysis_service.py - Gmail drafts
app/services/gmail_service.py - Calendar scheduling
app/services/calendar_service.py
Runtime services
- FastAPI application
app/main.py - LLM service
app/services/llm_service.py - Provider selection
app/llms/factory.py - Model routing
app/llms/router.py - LLM providers
app/llms/providers - LLM tracing
app/core/tracing.py
Other components
- Job seeker
- Google services
- GitHub service
Connections 31
- Job seeker → Streamlit dashboard: uses
- Streamlit dashboard → Backend API client: requests
- Backend API client → FastAPI application: calls API
- FastAPI application → Review endpoints: routes
- Review endpoints → CareerPilot workflow: invokes or resumes
- CareerPilot workflow → Resume extraction: extracts resume
- CareerPilot workflow → Resume intelligence: analyzes profile
- CareerPilot workflow → Job discovery: finds jobs
- CareerPilot workflow → Job filtering: filters jobs
- CareerPilot workflow → Resume matching: matches resume
- CareerPilot workflow → ATS optimization: checks ATS
- CareerPilot workflow → Application strategy: recommends strategy
- CareerPilot workflow → Approval guardrail: pauses for review
- CareerPilot workflow → Generation nodes: generates package
- Generation nodes → Tailored resume: tailors resume
- Generation nodes → Cover letter: creates letter
- Generation nodes → Recruiter outreach: creates email
- Generation nodes → LinkedIn message: creates message
- Generation nodes → Interview preparation: prepares interview
- CareerPilot workflow → Application tracker: saves applications
- Backend API client → Application tracker: requests tracker data
- Backend API client → GitHub analysis: requests analysis
- GitHub analysis → GitHub service: analyzes portfolio
- Backend API client → Gmail drafts: requests draft
- Gmail drafts → Google services: creates draft
- Backend API client → Calendar scheduling: requests scheduling
- Calendar scheduling → Google services: creates event
- LLM service → Provider selection: selects provider
- Provider selection → Model routing: routes task
- Provider selection → LLM providers: gets provider
- LLM service → LLM tracing: records span