What Is Candidate Management?
Candidate management in Recruitier is the central hub where you build, maintain, and activate your talent pool. Every candidate you work with — whether sourced from a CV, imported from LinkedIn, or added manually — lives here with a comprehensive profile containing over 40 data points that power AI-driven job matching. Rather than juggling spreadsheets, email threads, and separate tracking tools, Recruitier gives you a single place to manage the full lifecycle of each candidate from first contact to successful placement. The platform handles the heavy analytical work — extracting skills, normalizing data, generating vector embeddings, and scoring matches — while you focus on the relationships and decisions that drive placements.The Candidate Lifecycle
Every candidate in Recruitier follows a structured journey designed to maximize placement speed and accuracy. Each step builds on the previous one, creating a progressively richer profile that produces better and better match results.Upload or Import
Add a candidate by clicking the Upload CV button on the Candidates page. The wizard opens with two tabs: you can either upload a CV file (PDF, DOCX, or TXT) or paste a LinkedIn profile URL. Recruitier’s AI reads the document and extracts key information automatically — name, title, location, skills with confidence scores, experience level, years of experience, education, and more.The AI extraction is powered by Gemini and processes up to 50,000 characters of CV text. It does not just look for labeled sections; it analyzes the full document context to identify skills from project descriptions, certifications, and education details.
Review Profile
Review the AI-extracted name and job title and make any corrections. The wizard checks for duplicate names in your account and lets you confirm before proceeding. Accurate profiles lead to better matches because the candidate’s title and experience level directly influence the vector embeddings used for semantic search.
Review and Confirm Skills
The AI extracts skills from the candidate’s CV or LinkedIn profile, each with a confidence score indicating how certain the extraction is. You review these skills, confirm the ones that are accurate, remove any that are irrelevant, and add skills the AI may have overlooked. You can also skip this step and go directly to location.Skill confirmation is the critical gate for matching quality. Skills carry a 45% weight in the vector matching algorithm — more than any other factor.
Set Location and Start Matching
Configure where the candidate wants to work and set their search radius in kilometers (default 40 km). The location field uses autocomplete to geocode the address to precise latitude/longitude coordinates that enable distance-based scoring. Once you confirm the location, the wizard completes and AI job matching starts automatically in the background.You are redirected to the candidate detail page where a real-time progress indicator shows the matching stages as they execute. You do not need to wait — you can continue working while matching runs.
Why Centralized Candidate Management Matters
Faster Placements
When candidate data, skills, preferences, and matched jobs all live in one place, you spend less time context-switching and more time making placements. AI matching starts working the moment a candidate is added — the full 5-stage pipeline can complete while you move on to your next task.
Better Match Quality
Recruitier’s matching engine uses the candidate’s confirmed skills, experience level, and location preferences across three separate vector dimensions with weighted scoring. The more accurate the profile, the better the results. Confirmed skills alone improve match relevance by ensuring the 45%-weighted skills vector accurately represents the candidate.
Nothing Falls Through the Cracks
The pipeline view shows exactly where every candidate stands in your process. Protected statuses ensure that matches you have engaged with are never lost during re-matching. You always know who needs follow-up, who is interviewing, and who is close to placement.
Scale Your Desk
Whether you manage 5 candidates or 500, the same workflow applies. AI handles the heavy lifting of searching and scoring — up to 50 jobs are scored concurrently using parallel AI calls. You focus on relationship building and closing while the system processes thousands of potential matches.
Key Features at a Glance
| Feature | Description |
|---|---|
| CV Upload | Upload PDF, DOCX, or TXT files. AI extracts name, title, skills (with confidence scores), location, experience level, years of experience, and education automatically using Gemini. |
| LinkedIn Import | Paste a LinkedIn URL directly in the upload wizard to import a full profile including work history (up to 8 positions), education (up to 4 entries), and skills via the EnrichLayer API. |
| Skill Confirmation | Review AI-extracted skills with confidence scores (0.60-0.95+). Confirm, edit, or add skills. Skills are normalized through a taxonomy of 1,000+ variations to canonical forms. |
| Location Preferences | Set candidate location with autocomplete, configure commute radius (default 40 km), and define salary expectations (min/max). Locations are geocoded to lat/lon for distance calculations. |
| AI Job Matching | 5-stage pipeline: embedding generation, search query creation, parallel vector search (title 35%, skills 45%, experience 20%), match deduplication, and AI scoring across 4 dimensions. |
| Pipeline Tracking | 4-column Kanban board (New Matches, Favorited, In Progress, Placed) with drag-and-drop interface and integrated outreach status on each card. Matches within the In Progress column carry sub-statuses (Under Review, Contacted, Applied, Interviewing, Offer Stage). |
| Real-Time Updates | Live progress notifications during matching via Server-Sent Events — no page refreshing needed. Events include stage-by-stage progress and completion notifications. |
| Incremental Matching | On login (with a 6-hour cooldown), the system automatically runs matching for your top 5 candidates against 50 new jobs each, keeping results fresh without manual intervention. |
How Candidates Connect to the Rest of Recruitier
Candidates are at the center of the Recruitier ecosystem. Understanding these connections helps you get the most value from the platform:- Jobs: Matched jobs are linked directly to the candidate with scores, key matching points, potential concerns, and AI-generated explanations for each match. Each match goes through the full scoring pipeline producing role fit, skills fit, experience fit, and secondary fit evaluations.
- Companies: When you engage with a matched job (view details, start outreach), the associated company from the
global_companydatabase is automatically linked to your client pipeline. Staffing and recruiting agencies are automatically excluded from match results to avoid surfacing competitor agencies. - Outreach: From the candidate pipeline, you can initiate outreach flows to companies about specific job matches. The outreach status is visible directly on pipeline cards so you can track progress without leaving the Kanban view.
- Search: Each matching run creates search records that you can review and refine. The system generates up to 15 diverse search query sets per candidate to cover direct title matches, skill-based searches, alternative roles, and industry variations.
- Vector Database: Each candidate with confirmed skills gets three separate vector embeddings stored in Qdrant (title, skills, experience). These embeddings are reused for incremental matching and enable near-instant semantic search across the entire job database.
Advanced
How Candidate Data Is Structured Internally
Each candidate profile contains over 40 fields organized into several categories:Identity and Contact Fields
Identity and Contact Fields
The core identity fields include
name (required, unique per account), email, phone, linkedin_url, title, and summary. The name serves as the primary identifier and duplicate detection mechanism — you cannot have two candidates with the same name within your account.Location Data
Location Data
Location is stored as three related fields: the display string (
location), precise coordinates (latitude/longitude), and a normalized_location string produced by the geocoding service. All three are needed for the matching pipeline — the display string for the UI, coordinates for distance calculations, and the normalized form for consistent display across the platform.Skills Architecture
Skills Architecture
Skills are stored in two JSONB fields:
skills (a simple list) and skills_with_confidence (an array of objects like {"name": "Python", "confidence": 0.95, "confirmed": false}). The skills_confirmed boolean flag acts as the gate for production-quality matching. Until this flag is true, the candidate is not considered fully set up.Scoring Weight Configuration
Scoring Weight Configuration
Each candidate has four configurable weights:
weight_skills (default 0.35), weight_role (default 0.30), weight_experience (default 0.20), and weight_secondary (default 0.15). These weights must sum to 1.0 and control how the four AI scoring dimensions are combined into the final match score.Embedding State
Embedding State
The
is_embedded boolean and embedded_at timestamp track whether the candidate has been vectorized in the Qdrant database. Embedding is a prerequisite for vector-based job matching. If a candidate’s profile changes significantly, re-embedding may be needed to update the vectors.The Matching Pipeline at a High Level
When matching is triggered, the system executes a 5-stage pipeline:- Embedding — Three separate vectors are generated from the candidate’s title, confirmed skills, and experience/CV text. These are stored in Qdrant for fast similarity search.
- Query Generation — The AI generates up to 15 diverse search query sets to cover different angles (direct titles, skill combinations, alternative roles).
- Vector Search — Parallel searches across three vector types with weights: Title=35%, Skills=45%, Experience=20%. Filters exclude inactive jobs, jobs older than 6 months, jobs without company names, and staffing/recruiting agencies. A fetch limit of 400 provides a buffer for post-filtering, with a display limit of 200.
- Match Creation — Results are deduplicated, existing matches are excluded, and
CandidateJobMatchrecords are created. Protected matches (favorited, applied, etc.) are never touched. - AI Scoring — Each match is scored by Gemini across four dimensions. Up to 50 jobs are scored concurrently to stay within Gemini’s 500 RPM limit. Critical penalty caps prevent misleadingly high scores when there is a fundamental mismatch.
Incremental Matching on Login
To keep match results fresh without requiring manual intervention, Recruitier runs incremental matching when you log in:- Cooldown: Only triggers if 6 or more hours have passed since the last run
- Scope: Processes your top 5 candidates (by activity or priority)
- Volume: Up to 50 new jobs per candidate
- Notification: SSE events (
login_matching_started,incremental_matching_success,login_matching_completed) keep you informed of progress
Power-User Tips
The free tier is limited to 3 active candidates. If you need to test the platform before upgrading, choose your 3 best candidates for the most representative experience. Pro and Agency plans have no candidate limit.
Related
Upload a CV
Learn how to add candidates by uploading their resume with AI-powered extraction.
Import from LinkedIn
Import candidates directly from their LinkedIn profile URL.
How Matching Works
Understand the 5-stage AI pipeline that powers job matching.
Pipeline Management
Track candidates through your 4-column recruitment pipeline.

