Inspiration
Job hunting means the same manual work for every application — rereading your resume against a posting, guessing what an ATS actually filters on, second-guessing your own strengths and gaps. As an MCA student building an AI/ML profile, I wanted a tool that did that analysis for me: something that reads a resume the way a recruiter (and an ATS) would, and tells you exactly where it falls short.
What it does
AI Job Hunter lets you sign in, upload a resume as a PDF, and get back an AI-generated report: an ATS score, parsed skills and experience, and a breakdown of strengths and weaknesses. The dashboard is built to surface this alongside stats and recent activity, so a user can see their application readiness at a glance.
How we built it
- Frontend: Next.js (App Router), React 19, TypeScript, Tailwind CSS v4, shadcn/ui
- Auth: Clerk
- Database & storage: Supabase (Postgres + Storage), resumes stored in a dedicated bucket
- AI: NVIDIA AI model, prompted to return a structured resume analysis
- PDF parsing: pdf2json for server-side text extraction
Challenges we ran into
The main one has been a Clerk/Supabase integration issue: Clerk-issued JWTs don't resolve correctly inside Postgres Row Level Security policies, so auth.uid() comes back NULL and blocks some authenticated server-side inserts. Getting resume uploads to persist reliably meant working around this at the RLS-policy level. PDF text extraction also needed a couple of library swaps before landing on something that handled real-world resume formatting consistently.
Accomplishments that we're proud of
Getting a full auth → upload → AI analysis → dashboard pipeline working end to end, with a real LLM producing genuinely structured, usable output (not just a wall of text) from an unstructured PDF.
What we learned
Prompting an LLM for structured, parseable output takes real iteration — the difference between "useful ATS report" and "plausible-sounding text" is almost entirely in how tightly the prompt and parsing logic are written. I also got a much deeper look at how RLS policies interact (or fail to) with third-party auth providers.
What's next for AI Job Hunter
Turning this from a set of manual features into an actual agent: one flow that takes a resume and a job posting and autonomously chains resume analysis, ATS scoring, skill-gap detection, cover letter generation, and interview prep — deciding what to run based on what it finds, rather than requiring a user to trigger each step. Also moving the model layer to NVIDIA Nemotron on Nebius Token Factory, and finishing job matching and application tracking.
Built With
- firebase
- next.js
- react-19
- superbas
- tailwind-css-v4
- typescript
Log in or sign up for Devpost to join the conversation.