Why AI resume screening, not keyword filtering?
Legacy ATS rewards resume keyword stuffing and rejects strong candidates who describe experience differently. RecruitAI evaluates meaning: pgvector embeddings capture semantic equivalence — “led a team migrating a monolith to K8s microservices” matches “Kubernetes operator development & distributed systems migration” without requiring exact word overlap. Recruiters define a rubric (technical skills, architecture, communication, velocity) and every candidate is graded consistently.
- ✓Deterministic Pydantic schemas — zero hallucinations in export payloads
- ✓Confidence scores + highlighted gaps guide interview question generation
- ✓Audit-logged, timestamped evaluations for fairness reviews
- ✓Works for engineering, product and go-to-market roles (not just tech)
How it works
Bulk upload & clean extraction
Drop up to hundreds of PDFs at once. Text is normalized, deduplicated and chunked semantically — not truncated at random boundaries.
Embed & index
Gemini embeddings (384-d MRL) are written to pgvector with IVFFlat clustering. Retrieval is 31ms even across thousands of chunks.
Rank against rubric
Candidates are scored on your job’s calibrated dimensions. Blind mode redacts PII before the scorer ever sees text.
FAQ — AI resume screening
How accurate is AI resume screening vs. keyword filters?▾
RecruitAI uses 384-dimension Gemini embeddings with cosine similarity, so it matches skills even when phrased differently (e.g., ‘distributed cache’ vs ‘Redis cluster tuning’). Keyword ATS rejects qualified talent who don’t use exact job description wording; semantic screening does not.
What file types are supported?▾
PDF, DOCX and plain text. Multi-page resumes are chunked semantically, embedded and stored in pgvector with IVFFlat indexing for 31ms p95 retrieval.
Does resume data train AI models?▾
No. Resumes are processed transiently through enterprise API endpoints, stored only in your tenant with Supabase RLS, and never used to train public foundation models.
How fast can we screen 500 resumes?▾
Ingestion runs at ~1.38s per document with parallel embedding. A 500-resume batch is typically parsed and ranked within minutes, compared with 15–20 hours manually.