Hours spent reading resumes and copying data manually. Fragmented outreach. Billing discrepancies on client placements. We built RecruitmentIQ: a complete, unified operating system and CRM that ingests resumes via Llama-3.3, automates candidate gap analysis, triggers multi-channel outreach, tracks candidates in visual Kanban columns, and automates invoices.
Staffing agencies handle high volumes of inbound resumes while coordinating with enterprise clients on tight SLAs. Recruiters find themselves bogged down by administrative tasks—manually logging candidate metadata, typing outreach messages across multiple channels, drafting custom interview questions, and tracking invoice percentages. Without a structured, unified CRM, candidates stall, communication breaks down, and placement fees go uncollected.
RecruitmentIQ transforms candidate tracking and agency operations from a fragmented stack to an integrated, AI-assisted hub.
RecruitmentIQ maps directly to recruiting pipelines with 8 automated, intelligent workflows:
"A recruitment agency receives hundreds of candidate resumes in various file formats (such as PDF and Word .docx documents) daily."
Recruiters spend hours opening, reading, and manually copying skills, work histories, contact info, and education details into a database, leading to processing bottlenecks and typos.
Recruiters use a bulk-upload UI component (UI-CAND-08) to ingest files. The backend (/api/resumes/upload) extracts text and calls Groq (Llama-3.3-70b-versatile) to parse into structured JSON. A regex-based fallback parser extracts basic contact details if API limits are exceeded.
"A hiring manager has a specific job description (JD) requiring AWS, React, and TypeScript, and wants to quickly identify top fits among 50 newly uploaded profiles."
Reviewing resumes manually against a complex JD is subjective and slow. Crucial gaps—such as missing required libraries or possessing fewer experience years than requested—are frequently missed.
Recruiters run analysis via Analysis.jsx or /api/analysis/auto/{job_id}. The analyze_gap service compares skills, years of experience, and education, returning overall_match_percentage, overall_gap_percentage, strengths, and weaknesses to set is_shortlisted status.
"A recruiter shortlists a developer and wants to invite them to schedule a call via Email, WhatsApp, or LinkedIn."
Copy-pasting invitation letters and tracking candidate interest across email logs, WhatsApp messages, and LinkedIn threads is disorganized and leads to high drop-out rates.
The /api/invitations API generates personalized messages sent via SendGrid/SMTP or WA.me links. A secure response token (UUID v4) is appended to emails/WhatsApp; clicking it allows candidates to respond on Respond.jsx, immediately updating the CRM.
"An agency managing multiple open job roles needs a real-time, visual pipeline overview of candidate progress from initial screening to offer stage."
Static spreadsheets or tables make it difficult to visualize the pipeline conversion funnel, leading to delayed follow-ups and candidate neglect.
Renders an interactive Kanban board (Kanban.jsx) with 7 stages from New to Hired/Rejected. Dragging a card triggers PATCH /api/applications/{id}/status, updating the DB and recording a detailed activity history item on the candidate timeline.
"A recruiter is preparing to interview a candidate for a DevOps Engineer position and needs questions that focus precisely on the candidate's profile strengths and weaknesses."
Recruiters often ask generic, copy-pasted questions that fail to probe specific skills gaps identified during resume screening.
The /api/analysis/interview-questions/{job_id}?candidate_id={candidate_id} endpoint invokes Llama-3.1 using the candidate's gap analysis context to generate exactly 4 tailored questions per category (technical, behavioral, situational, culture_fit).
"A candidate fails to meet requirements during gap analysis or screening, and the agency needs to let them know."
Agencies struggle to write warm, customized rejection emails at scale, resulting in candidates being 'ghosted,' which damages the agency's market brand.
Clicking 'Decline' calls /api/analysis/rejection-message/{job_id}?candidate_id={candidate_id}. It feeds candidate name, job title, and specific gaps into Llama-3.1 to generate empathetic, personalized email copy. A static template falls back if the AI service is offline.
"An agency successfully places a software developer at a client firm and needs to issue a commission invoice based on contract terms."
Tracking fee agreements (contingency percentage vs. flat retainer rates) across various client accounts is manual and prone to invoice calculation errors.
Uses relational Client, Placement, and Invoice database models. Moving a candidate to a placement record (/api/placements) reads the client's fee structure to generate an invoice calculating actual_salary × fee_percentage / 100 dynamically.
"An agency owner wants to enforce candidate care rules, ensuring recruiters receive alerts when applications stall or when candidates submit responses."
Recruiter workloads prevent consistent follow-ups. Candidates get lost in the system, resulting in SLA breaches and lost placements.
The /api/automation rules engine maps event triggers to actions. A background scheduler (run_scheduled_rules) runs daily, scans for applications idle for 7+ days, and dispatches in-app reminders to recruiters to prevent deal slippage.
Tangible outputs shipped across the CRM development engagement.
RecruitmentIQ parses resumes using a pipeline that extracts text from PDF and Word (.docx) formats, then passes it to Groq's Llama-3.3-70b-versatile model to extract a structured JSON schema. A regex-based fallback engine is active to pull contact details if the API experiences latency, ensuring 100% uptime.
The gap analysis service evaluates required and preferred skills, years of experience, and education levels against the candidate's resume. It returns an exact overall match and gap percentage, list of matched vs missing skills, and candidate strengths and weaknesses to help recruiters shortlist candidates.
Yes. RecruitmentIQ features an automation rules engine matching events like status changes, scheduled interviews, and client offers to actions (such as generating email templates). A background scheduler monitors SLAs, reminding recruiters if a candidate sits idle for too long.
Whether you're running an agency looking to cut shortlisting loops, or building the next generation HR Tech SaaS product — we can construct a tailored, owned recruiting engine. Let's map your system requirements.
Book a Free Consultation