The Situation
Most hiring tools pick a side. Job boards serve employers and treat candidates as résumés in a queue; talent communities serve candidates and leave companies guessing. The platform we were asked to build refused that split. It needed to be genuinely two-sided — companies posting open roles and searching for people, candidates listing themselves and searching for roles, and either party able to start a conversation when they found a match.
That symmetry is deceptively hard. The two audiences want opposite things from the same screens. An employer's onboarding, dashboard, and search filters look nothing like a candidate's, yet both have to share an account system, a messaging layer, and a search index. The platform also spanned multiple industries, so the matching had to work whether someone was hiring a welder or a financial analyst, without devolving into a keyword free-for-all that buried good matches.
The brief was to ship a polished, production-ready marketplace where both sides feel like first-class citizens rather than an afterthought.
What We Did
We built the platform full-stack on Next.js with Postgres as the system of record, Supabase Auth for identity, and Algolia powering search across both sides.
The build broke down into four pillars:
- Dual onboarding and roles. We designed separate flows for employers and candidates on a shared account model. Employers create a company profile and post roles; candidates build a searchable profile. Role-aware navigation means each user only ever sees the surface that's relevant to them.
- Bidirectional search and matching. Algolia indexes both roles and candidate profiles, with faceted filters tuned per side — skills, location, seniority, availability — so an employer searching talent and a candidate searching roles both get fast, relevant results regardless of industry.
- In-platform messaging. A real-time messaging layer lets either party open a conversation directly from a search result or a posting, with the full context attached. Keeping conversations in-platform protects both sides and gives the business visibility into engagement.
- Hardened authentication. Supabase Auth handles sign-up, sessions, and access control, with row-level security in Postgres ensuring employers and candidates can only see what they're entitled to.
We worked in tight iterations, validating each side's flow with realistic seed data before connecting the two halves into a single live marketplace.
The Results
The platform shipped as a true two-sided marketplace: employers and candidates each get a purpose-built experience, but they meet in shared search and messaging. Search returns results in under 300 milliseconds across both indexes, so neither side waits, and the faceted matching holds up across very different industries.
Because every conversation happens in-platform, the business keeps full visibility into who's talking to whom — no contact details leaking out to email on first message — which protects the marketplace's role in the transaction. Delivered in 16 weeks, the project went live as a complete, production-grade recruitment platform serving both sides of the hire from day one.



