All use casesUse Case
Screen resumes and match candidates with retrieval-grounded LLM scoring.
Resume screening and candidate matching are RAG problems with a scoring layer on top: retrieve the relevant job requirements and candidate history, then have the LLM produce a structured score. The kit's structured-output extraction pattern and per-key tracking map directly onto this.
FastAPIOpenAICeleryPostgreSQLPydantic v2Redis
The usual pain points
- ✕Extracting structured candidate data from unstructured resume formats
- ✕Matching candidates against job requirements consistently, not ad-hoc
- ✕Processing large batches of applications without blocking the API
- ✕Tracking usage per recruiter or per job posting for reporting
How the kit solves them
- Structured LLM extraction with Pydantic v2 schemas for consistent resume parsing
- RAG query pattern reused to retrieve and rank candidates against job requirements
- Celery workers process application batches asynchronously
- Per-API-key tracking supports per-recruiter or per-req usage reporting
Example implementation
@celery.task
def screen_application(application_id: str, job_id: str):
resume_text = storage.read_text(application_id)
extracted = llm.extract(resume_text, output_schema=CandidateProfile)
job_reqs = rag.query(question="Key requirements", collection=job_id, top_k=3)
score = llm.chat(messages=build_match_prompt(extracted, job_reqs), track_tokens=True)
db.save_score(application_id, score.content)Ready to build your ai recruiting backend?
FastAPI AI Kit ships with everything shown above, pre-configured and production-ready. Clone the repo and start building in minutes.
Ready to ship your AI backend this weekend?
Join developers who skipped weeks of boilerplate and went straight to building.
No subscriptions · One-time payment · Lifetime updates
