How nshathish/cvtailr works
CVTailr is a CV tailoring and interview-preparation application. A user submits a CV and job description; the API parses them, scores the match, and creates a job record. The user can request AI-assisted tailoring, review and apply selected changes to a per-job CV, then practice and track evidence through drills and a ledger. The graph reflects the endpoint, client, service, and repository structure in the tree; several endpoint-to-service connections are inferred from matching names, since those source files were not sampled.
Main entry points: TailoringService.cs Tailoring service · DrillService.cs Drill service · CosmosCvRepository.cs CV repository · CvEndpoints.cs CV endpoints
Components 34
Web application
- Web app
CvTailr.Web/CvTailr.Web/Program.cs - CV client
CvTailr.Web/CvTailr.Web/Services/CvApiClient.cs - JD client
CvTailr.Web/CvTailr.Web/Services/JdApiClient.cs - Jobs client
CvTailr.Web/CvTailr.Web/Services/JobsApiClient.cs - Scoring client
CvTailr.Web/CvTailr.Web/Services/ScoreApiClient.cs - Tailoring client
CvTailr.Web/CvTailr.Web/Services/TailorApiClient.cs - Workflow state
CvTailr.Web/CvTailr.Web/Services/WorkflowStateService.cs
API workflow
- CV endpoints
CvTailr.Api/CvTailr.Api/Endpoints/CvEndpoints.cs - JD endpoints
CvTailr.Api/CvTailr.Api/Endpoints/JdEndpoints.cs - Job endpoints
CvTailr.Api/CvTailr.Api/Endpoints/JobEndpoints.cs - Scoring endpoints
CvTailr.Api/CvTailr.Api/Endpoints/ScoringEndpoints.cs - CV parsing
CvTailr.Api/CvTailr.Api/Services/CvParsingService.cs - JD parsing
CvTailr.Api/CvTailr.Api/Services/JdParsingService.cs - JD source resolver
CvTailr.Api/CvTailr.Api/Services/FirecrawlJdSourceResolver.cs - Match scoring
CvTailr.Api/CvTailr.Api/Services/ScoringService.cs - Job workflow
CvTailr.Api/CvTailr.Api/Services/JobService.cs - Foundry client
CvTailr.Api/CvTailr.Api/Clients/FoundryClient.cs
Tailoring and practice
- Tailoring endpoints
CvTailr.Api/CvTailr.Api/Endpoints/TailoringEndpoints.cs - Ledger endpoints
CvTailr.Api/CvTailr.Api/Endpoints/LedgerEndpoints.cs - Drill endpoints
CvTailr.Api/CvTailr.Api/Endpoints/DrillEndpoints.cs - Tailoring service
CvTailr.Api/CvTailr.Api/Services/TailoringService.cs - Preparation ledger
CvTailr.Api/CvTailr.Api/Services/LedgerService.cs - Drill service
CvTailr.Api/CvTailr.Api/Services/DrillService.cs
Persistence
- CV repository
CvTailr.Api/CvTailr.Api/Data/CosmosCvRepository.cs - Job repository
CvTailr.Api/CvTailr.Api/Data/CosmosJobRepository.cs - Tailored CV repository
CvTailr.Api/CvTailr.Api/Data/CosmosTailoredCvRepository.cs - Ledger repository
CvTailr.Api/CvTailr.Api/Data/CosmosLedgerRepository.cs
Domain models
- CV models
CVTailr.Shared/CVTailr.Shared/Cv/CvDocument.cs - JD requirements
CVTailr.Shared/CVTailr.Shared/Jd/JdRequirements.cs - Job records
CVTailr.Shared/CVTailr.Shared/Jobs/Job.cs
Other components
- User
- Cosmos DB
- Azure AI Foundry
- Firecrawl
Connections 30
- User → Web app: uses
- Web app → Workflow state: maintains state
- CV client → CV endpoints: calls CV routes
- JD client → JD endpoints: calls JD routes
- Jobs client → Job endpoints: calls job routes
- Scoring client → Scoring endpoints: calls scoring routes
- Tailoring client → Tailoring endpoints: calls tailoring routes
- CV endpoints → CV parsing: parses CV
- JD endpoints → JD parsing: parses JD
- JD parsing → JD source resolver: resolves source
- JD source resolver → Firecrawl: fetches source
- Scoring endpoints → Match scoring: scores match
- Tailoring endpoints → Tailoring service: proposes or applies
- Ledger endpoints → Preparation ledger: manages evidence
- Drill endpoints → Drill service: generates and evaluates
- Tailoring service → Foundry client: requests completion
- Drill service → Foundry client: requests completion
- Foundry client → Azure AI Foundry: sends inference request
- CV endpoints → CV repository: loads or saves CV
- Job workflow → Job repository: reads and writes jobs
- Tailoring service → CV repository: loads source CV
- Tailoring service → Tailored CV repository: stores tailored CV
- Preparation ledger → Ledger repository: reads and writes entries
- Preparation ledger → Tailored CV repository: updates tailored CV
- Drill service → Ledger repository: loads drill evidence
- Drill service → CV repository: loads fallback CV
- CV repository → Cosmos DB: persists CV
- Job repository → Cosmos DB: persists jobs
- Tailored CV repository → Cosmos DB: persists tailored CV
- Ledger repository → Cosmos DB: persists ledger