How blu59204/careercraftsai works
CareerCraft AI is a self-hosted, full-stack job-search automation platform. Users work in the Next.js app, which calls the FastAPI API over REST and SSE; agent runs and job searches progress through durable Temporal workflows. Specialized agents cover role discovery, resume and application materials, company and salary research, outreach, and interview preparation. Applications pass through form filling and explicit human-approval checkpoints before submission. The README documents additional capabilities not represented in sampled implementation excerpts; those are shown at their documented subsystem paths, without asserting unverified internal wiring.
Main entry points: auto_apply_pipeline.py Application pipeline · agents.py Agent endpoints · harness.py Agent harness · orchestrator.py Agent supervisor
Components 26
User product
- CareerCraft app
frontend/src/app/(app) - Browser extension
extension/src/background.js - Human approval
frontend/src/components/agents/ApprovalModal.tsx
API and agents
- FastAPI API
backend/app/main.py - Agent endpoints
backend/app/api/v1/agents.py - Agent harness
backend/app/agents/harness.py - Agent supervisor
backend/app/agents/orchestrator.py - Job discovery
backend/app/agents/job_search.py - Resume tailoring
backend/app/agents/resume_agent.py - Application pipeline
backend/app/agents/auto_apply_pipeline.py - Career agents
backend/app/agents - Application workflow
backend/app/services/application_workflow.py - Extension endpoints
backend/app/api/v1/extension.py - Form filling
backend/app/services/form_filler_service.py - BYOK model routing
backend/app/core/model_router.py
Durable workflows
- Temporal workflows
backend/app/workflows
Data and memory
- Document RAG
backend/app/services/rag_service.py - PostgreSQL and pgvector
backend/app/core/database.py - Redis sessions and events
backend/app/core/redis_client.py - Document storage
backend/app/services/storage_service.py - Agent memory
backend/app/agents/memory/manager.py
External integrations
- AI providers
- Connected services
backend/app/integrations - Decision engine
backend/app/services/decision_engine.py - Jev or Laya
Other components
- Job seeker
Connections 32
- Job seeker → CareerCraft app: uses
- CareerCraft app → FastAPI API: REST and SSE
- Job seeker → Browser extension: pairs browser
- FastAPI API → Agent endpoints: routes requests
- Agent endpoints → Agent harness: runs agents
- Agent harness → Agent supervisor: routes tasks
- Agent supervisor → Job discovery: dispatches search
- Agent supervisor → Resume tailoring: dispatches tailoring
- Agent supervisor → Career agents: dispatches tasks
- Agent endpoints → Temporal workflows: starts workflows
- Temporal workflows → Job discovery: runs searches
- Temporal workflows → Application pipeline: runs applications
- Application pipeline → Job discovery: finds roles
- Application pipeline → Resume tailoring: tailors resume
- Application pipeline → Application workflow: loads resume
- Application pipeline → Human approval: requests review
- Human approval → CareerCraft app: shows checkpoint
- Temporal workflows → Extension endpoints: queues extension tasks
- Browser extension → Extension endpoints: claims tasks
- Extension endpoints → Form filling: dispatches filling
- Form filling → Human approval: presents application
- Agent endpoints → Document RAG: serves RAG
- Document RAG → PostgreSQL and pgvector: stores vectors
- Document RAG → Document storage: stores documents
- Agent harness → Agent memory: uses context
- Agent memory → PostgreSQL and pgvector: persists memory
- Agent memory → Redis sessions and events: stores sessions
- Agent harness → BYOK model routing: requests completions
- BYOK model routing → AI providers: routes models
- FastAPI API → Connected services: uses connectors
- Form filling → Decision engine: resolves decisions
- Decision engine → Jev or Laya: queries engine