Projects
Applied Algorithms
Intelligent Candidate Ranking
A deterministic Python ranking pipeline designed for a 100,000-profile challenge dataset.
100,000
Profiles
73.32s
Runtime
100
Final ranks
0
External APIs
Problem
The ranking task required distinguishing production evidence from keyword-heavy profiles while processing 100,000 records within strict runtime and memory limits.
PythonAlgorithmsStreaming JSONLTop-K RankingUnit TestingData Validation
GitHub Repository JSONL Input01
Feature Extraction02
Deterministic Scoring03
Bounded Top-K04
Validated CSV05
Requirements
- Rank a 100,000-profile JSONL dataset against a fixed job description.
- Return exactly 100 unique candidates with ordered scores and evidence-grounded reasons.
- Run on CPU within the challenge's time and memory limits without external API calls.
Pipeline
- Streamed records from JSONL instead of loading the full pool into memory.
- Extracted technical, experience, career, behavior, and risk signals.
- Maintained a bounded top-K and generated candidate-specific explanations.
Scoring Decisions
- Weighted career-history evidence more heavily than self-reported skill lists.
- Applied penalties for stale, inconsistent, or keyword-heavy profiles.
- Kept the score deterministic so every ranking decision can be reproduced.
Scalability
- Completed the recorded 100,000-profile full run in 73.32 seconds.
- Used streaming input and bounded top-100 storage to control memory growth.
- Avoided model calls and network dependencies in the ranking loop.
Validation
- Unit tests cover core ranking and submission behavior.
- Validated unique candidate IDs, ranks 1 through 100, and decreasing scores.
- The final submission passed the supplied challenge validator.
Results
- Produced 100 ranked candidates from the 100,000-profile pool.
- Completed the full CPU-only run in 73.32 seconds.
- Generated explanations grounded in extracted profile facts.
Lessons Learned
A useful ranking system must make both positive signals and penalties explainable.
Determinism makes debugging and reviewer trust easier than opaque score generation.
Streaming and bounded data structures often matter more than model complexity at this scale.