Skip to main content

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.
1

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.
2

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.
Pay special attention to the candidate’s title. This field carries significant weight in the matching algorithm — the title vector alone accounts for 35% of the semantic search relevance.
3

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.
4

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

FeatureDescription
CV UploadUpload 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 ImportPaste 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 ConfirmationReview 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 PreferencesSet 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 Matching5-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 Tracking4-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 UpdatesLive progress notifications during matching via Server-Sent Events — no page refreshing needed. Events include stage-by-stage progress and completion notifications.
Incremental MatchingOn 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_company database 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.
Start with your best candidates first. Upload their CV or import their LinkedIn profile, confirm their skills, and let the AI find opportunities. Once you see the quality of matches, you will want to add your entire candidate pool. The free tier allows up to 3 candidates, while Pro and Agency plans offer unlimited candidates.

Advanced

How Candidate Data Is Structured Internally

Each candidate profile contains over 40 fields organized into several categories:
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 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 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.
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.
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:
  1. 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.
  2. Query Generation — The AI generates up to 15 diverse search query sets to cover different angles (direct titles, skill combinations, alternative roles).
  3. 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.
  4. Match Creation — Results are deduplicated, existing matches are excluded, and CandidateJobMatch records are created. Protected matches (favorited, applied, etc.) are never touched.
  5. 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
This means that every morning when you log in, your most active candidates automatically get matched against jobs that were posted overnight.

Power-User Tips

Optimize the upload-to-match cycle. The fastest path to quality matches is: upload CV, quickly verify name and title (do not spend time on every field), go straight to skill confirmation, confirm skills, and let matching run. You can refine other profile details while matching executes in the background.
Use LinkedIn import for speed, CV upload for depth. LinkedIn imports are faster and provide structured experience data, but CVs typically contain more detailed skill descriptions and contact information. For your best candidates, consider doing both — import from LinkedIn first for speed, then update with CV data later for richer matching context.
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.