Building an AI-Powered Reverse Hiring Platform with Next.js and OpenAI
A solo developer shares how they built an anonymous, salary-first reverse hiring platform in three weeks using Next.js, Supabase, and OpenAI embeddings.
Frustrated with inefficient traditional hiring, the author built a reverse hiring platform where candidates stay anonymous, employers must find them, and salary is disclosed upfront. Using Next.js 15, Supabase (PostgreSQL with RLS), and OpenAI's GPT-4o-mini plus text-embedding-3-small, they built a pipeline for resume parsing, embedding-based match scoring, and location-aware salary estimation.
Notable technical details include explicitly instructing GPT-4o-mini not to genericize job titles, using cosine similarity on embeddings for matching, and generating short human-readable match reasons. A key lesson involved discovering that the standard pdf-parse library silently fails on Vercel serverless, prompting a switch to the WASM-based unpdf library — a reminder to test PDF parsing on the actual deployment target early.
For Supabase RLS, a SECURITY DEFINER function was used to avoid infinite recursion when defining different access policies for candidates, employers, and admins. The single biggest driver of user retention turned out to be email notifications triggered by every meaningful action, such as new matches, interview requests, and messages.
Built solo in roughly three weeks with a monthly running cost of about $30, the project is now live with real candidates and employers. The author's retrospective advice includes starting with an email-only MVP, building in public earlier, and testing serverless PDF parsing from day one.