Inspiration
Recruiters spend over 15 hours per week conducting repetitive early-stage interviews — often to screen candidates who are clearly unqualified. This results in over 750+ hours/year wasted per recruiter, translating to tens of thousands of dollars in inefficiency per hiring team.
We were inspired to fix that. By combining conversational AI, resume parsing, and automated analysis, we set out to create a platform that reduces this time dramatically — allowing recruiters to focus on high-value candidates only. This was the perfect challenge to tackle at the Bolt Hackathon, where speed, innovation, and real-world impact collide.
What it does
Our platform offers AI-powered tools that simulate human-like interviews, automatically analyze candidate responses, and generate recruiter-ready reports. Key features include:
- Create AI clones (Replicas) from training videos using Tavus.
- Use stock or custom Personas to simulate interviewer tone and style.
- Conduct video interviews where the AI drives the conversation.
- Get full transcripts, performance insights, and sentiment analysis.
- Upload resumes (PDF) and extract key info with parsing logic.
- Generate AI reports using Google Gemini summarizing candidate performance.
- Full RBAC and per-user data isolation with Supabase Auth + RLS.
With this stack, we eliminate up to 80% of recruiter interview time for early-stage candidate screening.
How we built it
We built the app during the Bolt Hackathon, focusing on rapid prototyping while maintaining robust architecture. Our tech stack includes:
- Frontend: React + Redux Toolkit + React Router for UI and navigation.
- Backend: Supabase Edge Functions (Deno/TypeScript) for all server logic.
- Database: Supabase PostgreSQL with RLS for secure, scoped access.
- AI Video: Tavus Conversational Video Interface API for Replicas, Personas, and live AI-led conversations.
- Resume Parsing: PDF parsing using pdf.js-extract in Edge Functions.
- AI Reporting: Google Gemini API for summarizing interviews and generating insights.
- State Management: Centralized Redux store managing user sessions, replica/persona lists, and system status.
🔩 Built fast, but built right — our system is modular, scalable, and designed for real-world production beyond the hackathon.
We also seeded the platform with demo data (users, personas, conversations) and added a “Try Demo” mode to showcase the flow without needing real accounts.
Challenges we ran into
- Edge Function Limitations: PDF parsing in Deno required trial and error due to missing Node libraries.
- RLS Complexity: Supabase Row-Level Security is powerful but unforgiving; policies must be exact to avoid data leaks or access issues.
- Transcript Design: Storing and displaying transcripts in a scalable way (JSON vs normalized tables) was a tough architectural call.
- API Flow Syncing: Orchestrating Tavus async statuses (e.g. training, active, ended) with DB updates needed robust polling and error handling.
Accomplishments that we're proud of
- Integrated two external AI services (Tavus + Gemini) cleanly into a single, seamless platform.
- Built a real-time, production-ready backend using Supabase Edge Functions.
- Designed and implemented full RBAC using Supabase RLS and JWT custom claims.
- Created a fully functional MVP in hackathon time, with demo users and flows ready for presentation or customer validation.
- Reduced potential recruiter time on early-stage interviews by up to 80%, based on automation and async reviewability.
What we learned
- Supabase is a great backend for fast builds, but RLS adds complexity that must be planned up front.
- PDF parsing in Edge Functions is possible — with the right libraries and patience.
- Tavus CVI opens up a whole new design space for human-AI interactions in interviews and education.
- Redux remains a solid choice when managing multiple global slices and syncing external API state.
- Hackathon constraints force better decisions — we avoided overengineering and delivered a real, testable product.
What's next for Untitled
- Custom Persona and Replica Builder: Let users design their own interviewer styles and AI avatars.
- Live Email Integration: Send invites, feedback, and reports using Resend or SendGrid.
- Gemini-Powered Resume Summarization: Take raw resumes and generate structured summaries or scores.
- Multi-role Support: Add candidate-facing UI so users can schedule interviews, upload resumes, and view feedback.
- Analytics Dashboard: Give admins and recruiters insight into candidate trends, interview volume, and AI evaluation scores.
- Scalable Deployment: Prep for cloud hosting, CI/CD pipelines, and enterprise-level multi-tenancy.
Built With
- bolt
- react
- supabase
- tavus
Log in or sign up for Devpost to join the conversation.