DEV Community

Cover image for CogniPrep
Daniel Pertu
Daniel Pertu

Posted on

CogniPrep

Job hunting is stressful enough. Then you get to the final stages and hit a psychometric game assessment — a series of cognitive mini-games designed to measure how your brain works under pressure. No practice material, no "study guide", just vibes.

That's exactly what happened to a friend of mine. They bombed it. Not because they weren't smart — because they'd never seen anything like it before.

So I built CogniPrep.

What it is

CogniPrep is a practice platform for Arctic Shores psychometric assessments — the game-based cognitive tests used by employers like KPMG, PwC, Deloitte, and a growing number of others. You get access to 14 authentic game simulations, unlimited sessions, and detailed feedback reports with percentile scores so you actually know where you stand.

The goal isn't to game the system. It's to remove the unfamiliarity. When you've seen the format before, your anxiety drops and your actual ability comes through.

The stack

  • Next.js 15 (App Router) — server components, server actions, the works
  • Supabase — auth + Postgres
  • Tailwind CSS — utility-first, as God intended
  • Vercel — deployment

Pretty boring stack, intentionally. The games themselves are the complex part — each one simulates a different cognitive domain (working memory, attention, spatial reasoning, etc.) and has its own scoring logic and session state.

Interesting problems I ran into

1. Game session state

Each game session needs to track timing and responses and produce a score that maps to a percentile relative to a real population baseline. I ended up storing population stats in the DB and running a cron to keep them fresh. Simple but effective.

2. Feedback that actually means something

Raw scores are useless without context. The feedback system computes percentile rankings so users see not just "you scored 74" but "you scored in the 68th percentile — here's where to focus." That required building out a proper analytics layer per game type.

3. Landing page performance

The homepage has interactive game demos, animated sections, and a lot going on. I leaned heavily on next/dynamic with lazy loading to keep the initial bundle lean. The hero renders fast; everything else loads as the user scrolls.

Top comments (0)