Niffler /ˈnɪf.lər/
Named after the treasure-hunting creature from Harry Potter — a small, mischievous beast with an uncanny talent for finding anything of value.
AI-powered candidate sourcing pipeline. A custom-built system that turns weeks of manual recruiter work into hours, while keeping human judgment at the center of every hiring decision.
The Problem
Most of candidate sourcing is repetitive pattern-matching: skimming profiles, checking stack overlap, filtering by location, moving on. AI can do that part faster and more consistently than any human. But fully automated recruiting doesn't work either — a developer who spent five years building a chess platform as a solo founder looks nothing like a Google engineer on paper, yet might be exactly the builder a startup needs. That nuance requires a recruiter.
This system automates the tedious parts while keeping the recruiter in the loop for every decision that matters.
How It Works
The pipeline has six stages. Three are fully automated, two are AI-assisted, and one is entirely human. Every stage is idempotent — safe to re-run without duplicating data or losing work.
& recruiter notes
queries, recruiter reviews
in minutes
skills, education
strengths & gaps
& resume analysis
1. Vacancy setup & query generation
The recruiter provides a job description and recruiter notes — what to look for, what to avoid, and any context about the team or hiring manager's preferences. The system then automatically generates a set of boolean search queries: combinations of job titles, tech stack keywords, cultural signals, and geographic regions. The recruiter reviews and can adjust any query before running the search.
A typical vacancy produces 12–15 queries organized by region, each targeting different signal combinations. Regions can be toggled on and off individually.
2. Search — Vertex AI Discovery Engine
Each query is sent to Google's Vertex AI Discovery Engine, which searches against a pre-indexed LinkedIn data store. Results are deduplicated by LinkedIn URL at the vacancy level and inserted into the candidate database. A typical search run across 13 queries finds 500–700 unique candidates in a few minutes.
3. Profile enrichment
Before AI can evaluate a candidate properly, we need their full LinkedIn profile — not just the search snippet. The system retrieves full profile data in batches: complete work history with dates, education, skills, languages, and certifications.
Geographic filtering is built in: candidates located outside the target region are automatically flagged using a built-in database of 100+ international city and country names.
For large pipelines, the recruiter can pre-filter before enriching. In a recent NYC full-stack search, keyword matching split 699 candidates into three tiers: 193 tight matches (enriched immediately), 284 medium matches (held for later), and 222 loose matches (skipped). This saved costs while preserving the option to expand later.
4. AI evaluation
Each enriched candidate is evaluated by AI against the full job description and recruiter notes. The AI reads the candidate's complete work history and produces:
- Score (1–10) with calibrated rubric: 8–10 strong match, 6–7 good, 4–5 possible, 1–3 weak
- Verdict: a one-line summary of the fit
- Strengths: 3–5 specific reasons the candidate could be a good fit
- Gaps: 3–5 specific concerns or missing qualifications
The evaluation considers things keyword matching misses: career trajectory, skill-vs-evidence mismatches, job stability patterns, seniority progression, and whether someone's experience is genuinely full-stack or frontend-heavy with backend keywords added. Candidates are processed in parallel batches — evaluating 193 candidates takes roughly 15–20 minutes.
5. Interactive review dashboard
A web dashboard where the recruiter reviews candidates, with:
- Score filtering — adjustable minimum score threshold
- Status tracking — Actionable, Reached out, Responded, Interview scheduled, Not interested, No fit
- Text search across names, headlines, companies, locations, skills, and AI summaries
- Sortable columns and color-coded score badges for quick scanning
- Click "why?" on any score to see the AI's full reasoning: strengths in green, gaps in red
- Status buttons sync directly to the database
- Multi-vacancy support and ad-hoc search
6. Outreach & resume review
Outreach is deliberately kept manual — candidates deserve a real person reaching out. When candidates respond with resumes, the AI evaluates the resume against the specific role, producing a structured report with score, stack match table, strengths, concerns, pre-screen questions, and recommended next step.
Time Comparison
Real example: Senior Full-Stack Engineer, NYC, on-site. 13 queries across the northeastern US.
| Task | Manual | With Niffler |
|---|---|---|
| Write search queries (13 queries, 5 regions) | 2–3 hours | 20 minutes |
| Run searches and collect results | 4–6 hours | 5 minutes |
| Initial screening of 699 profiles | 12–15 hours | 0 — pre-filter + AI |
| Deep evaluation of 193 candidates | 16–20 hours | 20 minutes |
| Review top 23 with reasoning | 2–3 hours | 30–45 minutes |
| Resume evaluation | 20–30 min each | 3–5 min each |
| Total (search through shortlist) | 35–45 hours | ~3 hours |
That's roughly a 10–12x time reduction from search to shortlist. A process that typically takes a recruiter a full work-week can be completed in a single afternoon.
GitHub Sourcing
For roles where open-source activity is a useful signal, a supplementary pipeline searches GitHub instead of LinkedIn:
- GitHub search — finds developers by programming language and location, enriches with repository data and contribution activity
- LinkedIn cross-reference — matches GitHub profiles to LinkedIn using name similarity, location, and company matching
- Scoring & sync — qualifying candidates are merged into the main pipeline for a unified view
Where AI Helps and Where It Doesn't
AI does well
- Reading hundreds of profiles quickly and consistently
- Detecting skill-vs-evidence mismatches
- Identifying career patterns
- Generating structured, explainable evaluations
- Maintaining consistent scoring across large batches
- Catching location and stability signals
AI needs human oversight
- Judging cultural fit and team dynamics
- Weighing intangibles: motivation, potential
- Understanding market context
- Handling edge cases: founders, career changers
- Making final calls on borderline candidates
- Crafting personal, respectful outreach
Philosophy
The system is designed around a simple principle: AI should handle the work that's repetitive and time-consuming for humans, while humans should handle the work that requires judgment, empathy, and context.
- AI reads 700 profiles so the recruiter doesn't have to. But the recruiter decides which of the top 20 to reach out to.
- AI scores and explains its reasoning. But the recruiter can override any score.
- AI drafts resume evaluations. But the recruiter reviews them and decides the next step.
- AI generates search queries. But the recruiter shapes them based on market knowledge.
- Outreach stays manual. Because candidates deserve a real person reaching out.
No candidate is rejected by AI alone. The AI narrows the field and surfaces the strongest matches with clear reasoning. The recruiter makes every decision that affects a real person's candidacy.
For Recruiting Teams
If you run a recruiting agency or an in-house sourcing team, this pipeline can be adapted to your workflow. The system is modular — you can use the search and enrichment components with your own evaluation criteria, swap in different AI models, or integrate with your existing ATS.
- Scale without headcount — one recruiter can run 5–10 concurrent vacancy pipelines
- Consistent evaluation — every candidate scored against the same criteria
- Explainable decisions — every score comes with written reasoning
- Faster time-to-shortlist — from new vacancy to qualified shortlist in hours
- Data you can learn from — scored candidate data reveals which strategies work best