DEV Community

Shaik Mohammed riyaz
Shaik Mohammed riyaz

Posted on

Building a skill-assessment engine for hiring: timed tests, anti-cheat, and category-based matching

I've been building HireLyf, a hiring platform, and wanted to share how the core assessment engine works, since it's the part I spent the most time getting right.

The problem: give candidates a fair, hard-to-cheat skill test that actually predicts job readiness, without needing a full proctoring vendor.

What I built:

A 40-question, 20-minute assessment split across 10-question sections, dynamically pulled from a question bank spanning SQL, coding, DSA, Python, React, and more
Candidates pick their own test categories from their listed skills (English and aptitude are always mandatory)
Anti-cheat layer: tab-switch detection, window-blur tracking, copy/paste blocking, and cursor-leave detection — all client-side signals combined into a flag threshold rather than a hard block, since any single signal alone produces too many false positives
Scoring stays out-of-100 (25 points per section) regardless of how many questions ran, so the math scales cleanly
Stack: Next.js 14, MongoDB via Prisma, deployed on Vercel.

Happy to go deeper on any part of this — the anti-cheat calibration in particular took several iterations to avoid flagging honest candidates.

(If curious about the platform itself:(https://www.hirelyf.com) — free during early access.)

Top comments (0)