I will build an ai resume screening system


About this gig
Most resume screeners just dump every resume into ChatGPT and hope for the best. The problem: LLMs hallucinate relevance. A resume mentioning Python tangentially can rank as high as one with real Python experience.
I build a proper Search Relevance pipeline instead - the same architecture used in production recommendation systems at LinkedIn and Indeed:
1. Query expansion - turns a vague job title into a rich semantic search query
2. Hybrid search - vector similarity (ChromaDB) + hard metadata filters like experience years
3. Cross-encoder reranking (FlashRank) - reads JD and resume together, fixing semantic drift
4. LLM analysis - only top candidates after reranking get sent to the LLM for deep scoring
Result: a 0-100 score per candidate, matched/missing skills, and a clear SHORTLIST/MAYBE/REJECT call - not a vague "good fit" summary.
What you get:
- FastAPI backend with persistent vector store
- Clean interface to upload JDs and resumes (PDF, DOCX, TXT)
- Ranked results with transparent scoring
- Hosted demo or full source code depending on package
I test edge cases and document what I build. Message me before ordering so I can scope it properly.
Get to know Abdul Khaliq
AI Engineer RAG Systems, LangChain and LLM Integration
- FromPakistan
- Member sinceFeb 2025
- Avg. response time1 hour
Languages
English, Urdu
My Portfolio
Other AI Development Services I Offer
FAQ
Do I need to share real candidate resumes, or can I test with sample data first?
You can start with sample resumes to see how the scoring and ranking works before committing real candidate data. Once you're happy with the results, we move to your actual hiring pipeline
Will this work with my existing ATS or hiring tool?
The Standard and Premium packages include integration support for connecting this to an existing app or portal. If you're not sure how it fits your current setup, message me with details before ordering and I'll confirm scope.
What happens if the AI ranks a clearly good candidate too low (or a bad one too high)?
The system scores based on the job description's stated requirements - so results are only as good as the JD you provide. I recommend reviewing the "MAYBE" tier manually, since that's where edge cases land. I'm also happy to tune the scoring weights as part of a custom scope.

