Raptor Recruiter is a sleek, AI-powered recruitment dashboard designed to streamline the workflow for the South African hospitality industry. This single-page application provides a comprehensive suite of tools for candidate management, interview scheduling, and advanced, AI-driven data analysis, all wrapped in a modern, dark-themed interface.
Raptor Recruiter serves as a central command center for recruiters. It provides an at-a-glance view of the entire recruitment pipeline, from new applicants to successful placements, while leveraging the power of Google's Gemini AI to automate tedious tasks and provide deeper insights.
- Redesigned Modern UI: A beautiful dark theme with an orange accent, inspired by modern application design, featuring a clear sidebar navigation.
- Advanced Analytics Dashboard: The main dashboard prioritizes a full-width, dual-axis chart showing recruitment activity (profiles added, interviews, placements) against commission earned over time.
- Comprehensive Candidate Management: Add, view, edit, search, and filter candidates. A clean, card-based layout provides key information at a glance.
- Commission Tracking: Log a ZAR amount for each successful placement and visualize the total commission earned directly on the main dashboard graph.
- Dynamic Interview Calendar: A full-featured calendar that visually flags interview dates and successful placement dates. Click any date to quickly schedule a new interview.
- AI Conversational Chatbot: "Raptor Assistant" is a context-aware chatbot that can answer questions about the candidates in the database, using only the information available in the CRM.
- AI-Powered Resume Parsing:
- Add Candidate: Upload a resume (PDF, JPG, PNG) when adding a new candidate, and the AI will automatically parse the document to pre-fill the form fields.
- In-depth Analysis: On a candidate's profile, analyze an uploaded resume to generate a concise professional summary, extract key skills, and estimate years of experience.
- Modal-Driven Workflow: Seamlessly add candidates, schedule interviews, edit profiles, and upload photos without ever leaving the current page.
The central hub of the application. The layout is designed to present the most critical information first.
- Recruitment Activity Chart: A full-width, interactive chart displaying profiles added, interviews conducted, and candidates placed. A secondary axis plots the total commission earned (in ZAR) as a line graph. Users can toggle between weekly and monthly views.
- Stat Cards: A compact overview of key metrics: Total Candidates, Placed, Pending, Interviewing, and Rejected.
- Upcoming Interviews: A list of the next scheduled interviews for easy follow-up.
This page provides a comprehensive view of all candidates in the pipeline.
- Grid View: Candidates are displayed in cards, showing their name, status, contact info, top skills, and key stats.
- Search & Filter: A powerful search bar allows finding candidates by name or email. An advanced filter lets you narrow down the list by specific skills.
- Quick Actions: Add new candidates, edit existing ones, or delete profiles directly from this page.
A deep dive into a single candidate's information.
- Detailed Information: View contact details, location, availability, and professional information, including commission earned if placed.
- AI Resume Analysis: Upload resumes and use the Gemini AI to analyze them. The results, including a summary and extracted skills, are displayed clearly.
- Profile Photo: Upload a photo from your device or take one directly with your camera.
- Interviews & Notes: View a history of all scheduled interviews and any personal notes added for the candidate.
A visual tool for managing all time-sensitive events.
- Monthly View: Displays a full month, highlighting days with scheduled interviews or placements.
- Event Indicators: Different colored dots and icons indicate the status of interviews (Scheduled, Completed) and when a candidate has been placed.
- Quick Scheduling: Simply click on any day in the calendar to open a modal and schedule a new interview.
A placeholder page for future application settings and configurations.
The application leverages the gemini-2.5-flash model for three core AI functionalities:
- AI Resume Parsing: When adding a new candidate, uploading a resume sends the file to the Gemini API with a specific JSON schema. The model extracts key information (name, email, phone, skills, summary) and the application uses the response to pre-fill the form, saving significant time.
- In-depth Resume Analysis: From a candidate's profile, a separate analysis can be triggered. This uses a different prompt and schema to generate a more detailed professional summary, a list of extracted skills, and an estimation of experience years.
- Conversational AI Chatbot: The "Raptor Assistant" is powered by a chat session that is initialized with a system instruction containing the current, real-time data of all candidates. This ensures the chatbot's responses are strictly grounded in the CRM's data, making it a reliable tool for quick queries.
- Frontend: React, TypeScript
- Styling: Tailwind CSS
- Routing: React Router (
MemoryRouter) - State Management: React Context API
- AI Integration: Google Gemini API (
@google/genai) - Module Loading: ES Modules with Import Maps (
esm.shCDN)
This application is designed to run in a browser-based environment that provides the process.env.API_KEY. The Gemini API key is required for all AI-powered features to function.
- State Management:
contexts/AppContext.tsxinitializes the application state with mock data fromconstants.ts. It provides functions to manage the entire lifecycle of candidates, interviews, and resumes. - API Services: All interactions with the Google Gemini API are handled in
services/geminiService.ts. This file contains the logic for parsing resumes and managing the chatbot session. - Routing:
App.tsxusesMemoryRouterto handle client-side navigation between pages, creating a smooth, single-page application experience.