I built the engine that turns a role and a candidate into structured data, then runs the interviews and ranks the results.
[1] Product flow
Product flow & engineering ownership
Two journeys, candidate and role, feed one evaluation and decision flow.
Connected recruiting flow
A candidate's context carries from profile to ranking.
Fig. 1 · Context carried from profile to evaluation.Product journeys
Employer and candidate context remain connected to evaluation.
Fig. 2 · Two journeys converge on one evaluation step.Ownership ledger
AreaDetailOwnership
Structured-output LLM engineJD generation + evaluationBuilt
Pydantic validationStructured JD outputsImplemented Candidate rankingExperience · skills · interviewBuilt
Async Celery pipelineJD generationBuilt Candidate profile workflowMatch → apply → interview → evaluateConnected
Recruiting distributionCareer pages + external channelsSupported
Core system responsibilities
ContextCandidate intelligenceThe profile is reused for matching, interviews and evaluation.
ContextRole intelligenceA role's details carry through to interviews and scoring.
AutomationStructured interviewsInterview templates cover technical, experience, coding and Q&A rounds.
DecisionsRanked signalsRanking uses experience fit, skills match, and interview performance.
[2] Candidates
Candidate intelligence & matching
A resume becomes structured data the matcher can use.
NLP · spaCyResume parsing and structured candidate information. Vector signals · pgvectorSkill embeddings within candidate intelligence. Scoring · composite scoreProduced as part of the candidate profile.
Candidate profiling pipeline
Resume → structured profile → matching signals → composite score.
Fig. 3 · From resume to composite score.The profile holds normalized skills, a summary, skill embeddings, experience context, matching signals and a composite score.
Matched role workflow
Fig. 4 · Profile context reused for matching and application.Profile behavior
ReuseConnected candidate contextCandidates never re-enter details between matching, applying, interviewing and evaluation.
MatchingAutomatic role surfacingMatched roles appear after the structured candidate profile exists.
[3] Roles & interviews
Role intelligence & AI interviews
Structured role data feeds configurable multi-stage AI interviews.
Structured role generation and interview automation
Creating a role generates a description, screening questions and structured requirements that carry into evaluation.
Role-generation flow
Asynchronous structured-output generation with validation.
Fig. 5 · Celery, structured-output LLM, then Pydantic validation.80%
lower role setup time
verified outcome
Supported interview stage types
Fig. 6 · Four configurable interview rounds.Interview system
ContextContinuity across stagesThe role brief, interview flow, candidate context and scoring stay linked.
70%
lower screening time
verified outcome
[4] Architecture
Four-layer system architecture
Four layers connect the data, the AI, the workflow and the decisions.
Fig. 7 · Four high-level boundaries; no unstated service topology is implied.Ranking weighs experience fit, skills match and interview performance, and keeps the reasoning.
Connected recruiting channels
Career pages and external channels distribute each role.
Fig. 8 · Distribution to external channels.Decision layer outputs
OutputCandidate rankingThe ranked list shows the strongest signals and why each candidate was recommended.
OutputHiring analyticsThe platform also includes decision analytics.
OutputConversion + role insightsIt tracks conversion and role-level performance.
[5] Results & evidence
Results, engineering decisions & evidence
The verified numbers, plus the implementation choices I can confirm.
SystemResultFraming
Platform scale10K+ usersVerified scale
Role setup workflow80% reduction in setup timeVerified outcome
Structured AI interviews70% reduction in screening timeVerified outcome
Engineering decisions
StructureStructured outputs + PydanticRole generation uses validated, structured LLM outputs. AsyncCelery JD generationJob descriptions are generated through an asynchronous Celery pipeline. RankingThree evaluation dimensionsExperience fit · skills match · interview performance.
Evidence: 10K+ users · 80% faster role setup · 70% faster screening · high-level architecture.