Production ATS, CRM & AI recruitment platform for a Spanish recruitment company
Built at Soraia (Italian AI/software agency) for a Spanish recruitment company · 2024–2026
- Designed and built Potential Match: candidate profiles turned into clean semantic text, embedded with OpenAI
text-embedding-3-smalland stored in a dedicated table instead of regenerated per search. - Candidate changes trigger re-indexing; jobs use a comparable structure.
- Ranking flow: ~35k candidates → language filter → distance filter → vector similarity → weighted signals → 0–100 score.
- The first version embedded too much noisy text and matched poorly; I redesigned it with cleaner, separated representations (role, skills, experience).
- CV ingestion: Google Vision OCR for scanned CVs plus OpenAI extraction, moved out of the request so the candidate is created immediately.
- Input safety: prompt-injection sanitization, unsafe-markup handling and validation on public CV and application input.