Skip to content
Quentin Barroin

Case study

Novera Hire

From application to placement: the ATS that scores, presents and steers — built for the IT recruitment firm.

The proprietary ATS that runs my recruitment firm Novera Talent: transparent AI candidate scoring, auto-generated skills dossiers, pipeline, mandate CRM and automations — verticalised for freelance and permanent tech recruitment.

Role
Design · Product · Development · Hosting
End to end, solo
Year
2026
Type
Proprietary ATS · IT/staffing recruitment
CRISPE scoreGO
87/100
Skills92
Experience88
Seniority84
Availability79

The challenge

I run Novera Talent solo — freelance and permanent tech recruitment, direct-to-client (RPO) or through staffing partnerships. Before Novera Hire, everything lived in a patchwork of tools: Notion, Excel and a free Recruitee. No objective scoring, client presentations redone by hand, no multi-mandate traceability, and margins computed case by case — therefore invisible.

The goal: an IT-verticalised ATS covering the whole funnel — from application to placement — with transparent scoring (not an opaque “match %”), AI-generated client deliverables, and margin made visible on every record.

The solution: a recruitment cockpit

Eight connected modules cover the full cycle, from application to placement.

CRISPE AI scoring

0-100 score, GO/REVIEW/NOGO verdict, sub-scores and evidence — transparent, not a “match %”.

Kanban pipeline

Custom stages, drag-and-drop, tracked transitions.

Skills dossier

AI-generated PowerPoint dossier, anonymised in staffing-partner mode.

Firm CRM

Clients, contacts and mandates — multi-client, multi-mission.

Pricing & margin cascade

Target margin firm → mandate → role, visible on every record.

AI client presentation

Branded professional email, generated in draft or auto mode.

Email automations

Stage-change rules: follow-ups, rejections, booking.

AI interview kit

Contextualised interview guide, then note analysis into GO/review/NO_GO.

The design

A design system aligned with the Novera Talent brand: deep navy, cornflower blue for actions, azure blue reserved for AI moments, and a light lavender background. Semantic colours (green/amber/red) are kept for GO/REVIEW/NOGO verdicts. Geist typeface, tabular figures everywhere — the readability of a working tool.

Navy

#17213A

Authority

Cornflower

#316EB9

Action

Azur IA

#2E90D8

AI moments

Lavande

#F0F1F9

Breathing room

Aa

Geist Sans

Headings & interface

Aa

Geist Mono

Figures & scores

Under the hood

A fully typed Next.js monolith with real production-AI discipline: every model call is validated, traced and costed. No over-engineering — guardrails where money and candidate data are at stake.

Next.jsReactTypeScriptSupabaseOpenAITailwind CSSshadcn/uiBackblaze B2RedisVitestPlaywright

Architecture

Next.js monolith (App Router, ~96 components / ~94 API routes) with systematic Zod validation on inputs, a Supabase data layer protected by RLS, and business logic (RPO/staffing postures, margin cascade) isolated and unit-tested in lib.

Orchestrated AI scoring

CRISPE scoring in two flavours — standard, and dynamic adapted to the role (two model calls). Every evaluation is journaled (scoring_jobs table: pending → running → done/error) with a human review status, retries and exponential backoff on OpenAI.

Document generation

End-to-end skills-dossier pipeline: CV text extraction → AI section generation → branded PowerPoint render (pptxgenjs) in the firm’s colours, with automatic anonymisation in staffing-partner mode.

AI observability

An AI usage ledger records every model call (feature, tokens, cost in euros, duration, errors), with a dedicated dashboard. Real AI cost is tracked to the euro — kept under €30/month.

Guardrails & security

Upstash Redis rate-limiting (a strict bucket dedicated to scoring), strict upload validation (type, size, sanitised name), Supabase RLS policies, soft-delete on sensitive data and secrets kept out of the repo.

Storage, extension & delivery

CVs and renders on Backblaze B2 (Supabase Storage fallback), a Chrome extension that captures a LinkedIn profile into the ATS, 374 unit tests (Vitest) + e2e (Playwright), GitHub Actions CI, deployed on Vercel + Supabase cloud.

My role: everything, solo

From vision to production, I built Novera Hire alone: strategic decisions recorded as ADRs, design system, full-stack development, hosting and compliance. It’s the tool I use every day to recruit — so it’s the product whose every trade-off I own.

Product & scoping (PO)

Positioning, ADRs, roadmap, ecosystem boundaries.

Design & design system

Novera Talent-aligned identity, UI, components, tokens.

Full-stack development

Frontend, API, database, AI orchestration, tests, CI.

Hosting & data

Deployment, RLS, GDPR, AI cost monitoring.

Novera Hire is the tool I built for my own firm — and proof that I understand, from the inside, the craft of the people I recruit. Framing the need, designing the experience, writing the code, orchestrating the AI and shipping it: that complete perspective is exactly what I bring when I assess and recruit tech profiles.