Inspiration
Hiring is broken. Recruiters drown in CVs, early-stage screening eats hours of human time, and great candidates get lost in the noise. We wanted to find out: what if the first interview could happen the moment a candidate applies — fairly, consistently, and at any hour? That question became OmniHR, an AI-native hiring platform that screens, interviews, and scores candidates end-to-end.
What it does
OmniHR serves two audiences from a single platform:
- For companies: Post jobs with custom AI interview instructions and weighted scoring criteria, then watch candidates get screened and ranked automatically. A dashboard surfaces applications, interview results, and performance analytics.
- For candidates: Sign up, browse open roles, apply with a CV, and complete an AI-conducted voice/video interview right in the browser.
The pipeline runs end-to-end:
- Company posts a job with tailored AI instructions
- Candidate applies with their CV
- AI screens the CV for relevance to the role
- The candidate completes an in-browser recorded interview
- AI evaluates and scores fluency, knowledge, relevance, and job fit
- Results, feedback, and rankings appear instantly in the dashboard
How we built it
- Frontend: Next.js 16 (App Router) with React 19, Tailwind CSS v4, and shadcn/ui for the component system, plus Framer Motion for animation.
- Auth: Firebase Authentication with separate company and candidate account flows, backed by Firebase Admin on the server.
- Database: Amazon Aurora PostgreSQL accessed through
pgwith IAM-based RDS signing, modeling jobs, applications, custom fields, scoring criteria, interview sessions, and results. - AI: Google Gemini powers CV screening and interview scoring, returning structured, weighted evaluations with written reasoning.
- Media capture: The browser
MediaRecorderAPI records candidate audio (and optional video) and streams it to a Next.js route handler for analysis. - Validation & state: Zod for input validation and SWR for client-side data fetching and caching.
Challenges we ran into
- Capturing reliable audio/video across
Built With
- amazon-aurora-postgresql
- aws-iam
- firebase
- firebase-admin
- framer-motion
- generative-ai
- google-gemini
- mediarecorder-api
- next.js
- pg
- react
- shadcn-ui
- swr
- tailwindcss
- typescript
- vercel
- zod
Log in or sign up for Devpost to join the conversation.