Building a Recruiter Platform in 7 Days with AI: A Vibe Coding Journey
Posted April 10, 2025 by Priyadarshan Giri ‐ 5 min read
ChatGPT o1 ftw for prompts, Claude 3.7 Sonnet via GitHub Copilot for implementation
Ever faced a seemingly impossible deadline? Recently, a friend needed a complex web application for a college submission, and the timeline was tight – just seven days. The project? A full-featured Recruiter Platform. Instead of panicking, I decided to embrace the chaos and dive into what I call "vibe coding" – leveraging cutting-edge AI tools to accelerate the development process dramatically.
The Challenge: A Feature-Rich Platform on a Shoestring Schedule
The requirements were far from trivial:
- Dual Logins: Separate interfaces for Candidates and Hiring Managers.
- Hiring Manager Dashboard: View candidate details (sourced from PostgresQL), including selection source and ranking. Ability to send coding assessment invites via email. Track assessment status (Sent, Accepted, Started, Finished, Scoring, Score). Manage company lists.
- Candidate Portal: Login using auto-generated credentials (sent via email). View and take assigned coding assessments. Save progress before submission.
- Assessment System:
- Structure: 1 Frontend, 1 Backend API, 1 coding question (choose from 3)
- Content: Coding questions sourced from LeetCode.
- Environment: Self-hosted CodeMirror server for the assessment interface.
- Timing: 1-week validity to open the assessment, 24-hour timer once opened.
- Evaluation: Automated scoring using Docker containers running predefined test cases.
- Data Management: Store results and solutions. GDPR compliance requires deleting candidate data (solutions, scores) after rejection or interview completion.
- Technology: Python/Django framework, PostgresQL database.
Building this from scratch in a week, especially alongside other commitments, felt daunting.
The Approach: AI-Powered "Vibe Coding"
My strategy relied heavily on AI assistance, essentially turning the development process into a dialogue:
- High-Level Planning (ChatGPT-o1): I started by crafting a detailed prompt outlining all the requirements. The goal was to get ChatGPT-o1 to break down the complex project into a series of manageable, detailed development prompts. Precision here was key to minimizing errors downstream.
- Implementation (Claude 3.7 Sonnet via GitHub Copilot): With the roadmap of prompts generated by ChatGPT, I turned to GitHub Copilot, powered by Claude 3.7 Sonnet. I fed it the specific, targeted prompts, and it generated the Python/Django code, templates, database models, and configuration snippets. This wasn't just copy-pasting; it involved iterating, debugging the AI's output, and guiding the implementation.
The Master Prompt for ChatGPT
Here’s the core prompt I gave to ChatGPT-o1 to generate the development steps:
I need a website written using django.
It is a recruiter platform where it has 2 login pages (one for candidates and one for hiring managers).
The hiring manager gets details of selected candidates from a postgres database where it shows the source from where the candidate was selected and ranking among the people selected from that source and other regular details such as full name, email and password(will be autogenerated the first time).
After getting the details, the hiring manager should be able to send emails to few candidates telling them about a coding assessment for a company before the official interview (specified by hiring manager).
If the candidate accepts the invite, they should receive an automated email which sends them a coding assessment test with 1 week validity for them to open the assessment.
once the assessment is opened a timer starts with 24 hours for them to submit the solution.
the assessment will be 1 question from frontend code test, 1 question related to backend api code test, 1 question related to databases with an SQL code test, and 3 personality related test.
The candidate can choose to answer any 1 of the coding assessment test out of the three and compulsorily answer the personality test questions.
The coding assessment test questions will be sourced from leetcode and the assessment is made via a selfhosted codemirror server. once the code is submitted, the solution is evaluated using a docker containers where the testcases will be run.
the results and the solution submitted by the candidates are stored in the database.
The hiring manager's dashboard will contain the number of candidates selected for assessment, number of candidates been sent assessment, number of candidates accepted by the companies.
companies list. in the candidates been sent section of the dashboard, there will be status alongside the candidates like sent, accepted, started asessment, finished assessment, if finished? scoring asessment or score of candidate.
Candidates will only login using the autogenerated password sent to them via mail. they'll login to find the currently running assessments.
they'll also be able to save the solutions before submitting them for evaluation.
Once the assessment is over, they'll be able to access their assessments until the interview if there is any, if they're rejected from the interview then the data is deleted.
The interview status will be mailed and the responsibility of that candidate will no longer be with us (the recruiter platform) and all user collected data like the solution to the assessment and scoring should be deleted from the database to comply with the GDPR.
Generate series of AI prompts to build the website using django, setup code mirror with leetcode questions and make sure you use django templates as much as possible.
keep the AI prompts very detailed to minimise the errors.
each AI prompt should also do specific set of tasks to which the solution is usually less than 50,000 tokens.
give me all prompts in code block or any other way where I can copy it easily.
This detailed breakdown allowed me to tackle the project piece by piece, using Claude/Copilot to generate the bulk of the code for each step.
The 7-Day Sprint
The week was intense. It involved:
- Setting up the basic Django project structure.
- Defining database models (Users, Candidates, Companies, Assessments, Submissions, etc.).
- Implementing authentication for both user types.
- Building the Hiring Manager dashboard views and templates.
- Integrating email functionality for invites and notifications.
- Setting up the candidate assessment portal with CodeMirror.
- Developing the logic for assessment timing and state management.
- Figuring out the Docker-based evaluation system (a significant sub-task!).
- Implementing the data cleanup logic for GDPR compliance.
Claude/Copilot was instrumental. It generated models, views, URL patterns, and complex template logic far faster than I could have written it manually. Of course, the AI-generated code wasn't always perfect. Debugging, tweaking, and integrating the pieces required careful oversight, but the acceleration was undeniable.
Technology Stack
- Backend: Python 3.x, Django
- Database: PostgreSQL
- Frontend: Django Templates, HTML, CSS, JavaScript (likely minimal, driven by Django templates and CodeMirror)
- Assessment Environment: CodeMirror
- Evaluation: Docker
- AI Assistance: ChatGPT-o1 (Prompt Generation), Claude 3.7 Sonnet via GitHub Copilot (Code Implementation)
Check Out the Code
The project, while developed rapidly for a specific need, is available on GitHub. Feel free to explore the structure and implementation:
(Disclaimer: As this was a rapid build for a college project, it might lack the polish and extensive testing of a production application.)
Reflections on AI-Assisted Development
This project was a testament to how AI tools can revolutionize rapid prototyping and development, especially under pressure.
- Speed: The sheer velocity achieved was the biggest win. What might have taken weeks was compressed into days.
- Prompt Engineering is Crucial: The quality of the initial, detailed prompt given to ChatGPT directly impacted the usefulness of the generated sub-prompts and, consequently, the code generated by Claude/Copilot. Garbage in, garbage out still applies.
- AI as a Pair Programmer: Claude/Copilot acted like an incredibly fast, knowledgeable (but sometimes naive) pair programmer. It handled boilerplate and complex initial drafts, freeing me up to focus on architecture, integration, and debugging.
- Human Oversight is Non-Negotiable: AI doesn't understand the project goals in a human sense. It generates based on patterns. Reviewing, testing, and guiding the AI's output is essential.
Conclusion
Building the Recruiter Platform in just seven days was a whirlwind experience, heavily powered by AI. This "vibe coding" approach, using ChatGPT for planning and Claude/Copilot for execution, proved incredibly effective for meeting the tight deadline. While AI assistance requires careful management and validation, its potential to accelerate development is immense. The project was successfully submitted, and it served as a powerful demonstration of modern AI development workflows.