SkillCompass · a product overview

Your résumé says SQL.Can you show it?

Paste it in and every skill you claim becomes a two-minute check. What survives is evidence. What doesn't is the thing to go and learn on Sunday, named precisely enough to actually go and learn it.

SQL Joins Window functions Dashboards Excel Storytelling A/B testing Descriptive stats

Five held up clean. Window functions and descriptive stats came out thinner than the CV implies, and the A/B testing line didn't survive at all. Each dot still carries the dashed ring it started as, back when it was only a claim. That's the whole product: not a grade, a list of what to fix.

Take a 2-minute check Read the code

from claim to evidence

Every line on your CV, offered up for testing

A career track is a job with its six topics named. Open one cold and it tells you where you stand immediately: nothing assessed yet, and here are the six things this role wants evidence of.

The Data Analyst career track page reading 0 of 6 topics assessed, with a résumé paste box, an upload button, a privacy note, and a Your biggest gaps panel listing the six untested subtopics.
“No quiz or résumé evidence yet for…” and then the list. That list is the product.

Paste your résumé in, or photograph it. SkillCompass reads it against that track's own curriculum and marks which of the six your experience already evidences. Then it does the part that matters: each evidenced topic gets a Verify button next to it, because a résumé claim is only a claim. Verifying means sitting the two-minute check and finding out whether the thing you wrote down survives six questions written by someone who wasn't trying to flatter you.

A track page showing a parsed résumé with extracted skill chips including SQL, Tableau, Excel, Redshift and window functions, above six track subtopics each badged From resume with a Verify button.
Ten skills read off the résumé, and six topics now waiting to be proved.

The text is used for one call and never stored, pasted or uploaded. It doesn't reach a database and the result stays on your device. A job-postings corpus would let this compare you against live market demand as well. There isn't one yet, so the report compares against the curriculum and says so on the page rather than inventing salary bands.

This gap report compares you against this track's own curriculum. A live job-market panel (top skills in this month's postings, salary context) arrives in a later beta phase.

the footnote under every gap report

two minutes

Six questions, pitched at you

One placement question comes first and sets the band. Answer it well and the six that follow come from the hard set; miss it and they come from an easier one, so the check spends its questions where they tell it something. You can skip the placement and pick the band yourself.

Nothing is timed. Your pace is recorded and handed back afterwards as seconds per question, because how long you took is information. It never costs you points.

A placement question about two fraud-detection models with identical ROC-AUC on an imbalanced dataset, offering four answer options labelled A to D.
The placement question. One item, and the rest of the set moves to meet it.

where the questions come from

Every answer names the book it came out of

Answer and the explanation opens straight away, right or wrong. It says which option was correct, why the tempting one isn't, and then cites the public reference it was written against. Below, that's Davis and Goadrich's 2006 paper on precision-recall against ROC curves.

The citation is doing real work. A multiple-choice question with a debatable key is worse than no question at all, so each item is written against a named source, then run past an independent review pass that hunts for exactly the failure modes questions fail on: ambiguous keys, giveaway option lengths, trick phrasing. A person reads it before it counts. That is 645 questions so far, across 230 concepts.

A revealed answer marked Right, with an explanation of why ROC-AUC stays stable across prevalence while PR-AUC drops, followed by a cited source line naming Davis and Goadrich 2006.
Right or wrong, you get the reasoning and the reference underneath it.

what you walk away with

A map of the topic, not a mark out of six

The score is one line. Underneath sits the knowledge map: every concept the topic covers, coloured by how you did on the questions that touched it, with the prerequisite links drawn between them.

Concepts your six questions never reached stay dashed and empty. The map would rather show you a hole than guess. Tap any node for what the concept is, how to close it, and a way straight back into fresh questions on it.

A finished check on Model evaluation scoring 6 out of 6, above a knowledge map of eight concepts coloured strong or left dashed as not yet tested.
Six for six, and three concepts still untested rather than assumed.
The knowledge map with a concept dialog open for ROC-AUC vs PR Curve, marked strong, explaining the difference between the two curves and offering a Take it again button.
Any node opens into what it is and how to fix it.

A clean 6/6. You handled ROC-AUC vs PR Curve, the hardest idea in this set, without slipping. Take it again to cover confusion matrix; a perfect run on fresh questions is the real test.

the diagnosis written for that run

how difficulty stays honest

Boring arithmetic, deliberately

A question's difficulty starts as an estimate and then moves toward what people actually score on it. The step shrinks as an item collects answers, so a well-established question stops swinging on any one person's bad morning.

R = 1500 − 400 · log10( p / (1−p) ) an item's rating, derived from the share of people who get it right Kitem = 32 / (1 + n/40) how far one new answer is allowed to move it, decaying as n grows Ksession = 48 how fast your own ability estimate moves inside a single check

Ability starts at 1350, 1500 or 1650 depending on which way the placement question sent you. Only first exposures feed calibration, so retaking a topic can't inflate the statistics. All of it sits on a public page rather than in a footnote.

The How this works page explaining questions, difficulty, percentiles and privacy in plain language, followed by a technical section with the Elo formulas and a live-AI capacity meter.
The whole method, formulas included, on one page anyone can read.

the number it won't invent

No percentile until 30 people have sat it

"Top 27% of 412 this month" means precisely that: your result placed against every real session on that topic in a rolling 90-day window. Until a topic clears 30 sessions there is no such comparison to make, so the result says early data and stops talking. Your first attempt is the one that fixes the percentile, so retakes draw unseen questions but can't be used to shop for a better rank.

The community dashboard runs on the same rule. It's built and wired, and for now it reports the only thing it can honestly report.

The Live dashboard page, badged beta early data, saying the community counters switch on once the beta has real traffic to report and that there are no fake numbers in the meantime.
An empty dashboard that says out loud that it is empty.

how much is actually live

385 topics mapped. 29 of them ready.

The catalog is the single source of truth: 385 subtopics across 46 fields, feeding 117 career tracks. Software, cloud, security, marketing, product, project management, HR, healthcare, law, economics, accounting, maths and psychology sit alongside the original data and finance core.

■ 29 live · 356 still generating

A subtopic goes live the moment its reviewed bank lands, and nothing is edited by hand to make that happen. The manifest works out live, partial or soon from whatever content exists, so topics, fields and tracks flip over by themselves. That's why the count above is a real number rather than a roadmap. Five fields are open now, four tracks are complete, and 42 more are partly covered.

The Explore page listing live topics grouped by field: Machine Learning and AI, SQL and Data Tools, Finance and Markets, Statistics and Experimentation, with plus-more-coming labels on the incomplete fields.
Ready topics first, and the unfinished fields say how many are still coming.

the capstone

An interview that asks a second question

Get all six topics in a track assessed and the mock interview unlocks. Six to eight turns of real conversation, pitched at the seniority your results demonstrated rather than the one you claimed, and it follows up when an answer is thin instead of nodding along. It ends with a scorecard broken out by dimension. Tested against a deliberately vague answer, it flagged it and kept pushing, which was the point of the test.

It holds no server-side session. The transcript is resent each turn, so there is nothing sitting on a server to leak. The third feature is the study guide: a downloadable plan for a whole track, built from your real per-concept results and, where they exist, your résumé and interview too.

The bottom of a track page showing six subtopics badged From resume with Verify buttons, and a locked Mock interview capstone panel reading unlocks when all 6 topics are assessed, marked 0 of 6.
Locked at 0/6. The capstone is earned rather than handed over.

your data

Two buttons: export, and erase

Everything you do lives in one localStorage key in your own browser. The Progress page reads it back to you, every check with its date and score, and gives you a button to take it away as a file and a button to delete the lot. Neither asks you to sign in first, because there is nothing to sign in to.

The one thing recorded centrally is an anonymous answer log: question id, right or wrong, how long you took. That's what calibration runs on. It never records who you are, and there's no account for it to hang off.

The Your progress page showing checks completed, topics attempted and average score, a history list with dates and scores, and Export my data and Clear everything buttons.
“Everything below lives only in this browser.”

smaller things worth knowing

Details that only matter once you're using it

Keyboard the whole way

A to D answers, Return advances. A check takes two minutes without your hand leaving the keys.

Skip the placement

Know your level already? Start easier or start harder and go straight to the set you want.

Retakes draw unseen questions

Sit a topic again and you get items you haven't met. The first attempt still owns the percentile.

Photograph your résumé

No file to hand? A photo or screenshot gets read the same way, in memory, once.

Partial tracks say so

A track with four of six banks ready carries a readiness badge instead of looking finished and failing halfway.

Certificate prep

CFA Level 1, Google Data Analytics and AWS Cloud Practitioner are mapped, marked coming soon until their banks land.

Daily AI capacity, in public

The free model tier has a ceiling. The methodology page shows today's count against it and says what happens at the top.

Results have their own URL

Come back to a result later. A 404 redirect shim makes a static host serve app routes properly.

Feedback endpoint is live

The API already accepts structured feedback. Putting a report link on every question is next, and the methodology page says so rather than implying it's done.

Dark mode

A full night theme on its own toggle, contrast-checked in both directions.

what it runs on

Free, and free to run

SkillCompass costs nothing a month to operate. That's a constraint rather than a brag: nothing here depends on a budget that could get cut, and no part of it has to be monetised later to survive.

Frontend
React, Vite and TypeScript, served as a static build from GitHub Pages. The whole quiz loop runs here, so the core of the product can't go down with a backend
API
Python FastAPI on a Hugging Face Space, free CPU tier. Percentiles and the three AI features only
Calibration store
Supabase Postgres, free tier, reached through a small stdlib PostgREST client rather than an SDK
AI features
Gemini 2.5 Flash on the free tier over plain REST, with thinking tokens switched off so answers don't get truncated before they finish
Question pipeline
A generator drafts in difficulty bands, an independent reviewer pass repairs or rejects, and a person signs off before anything counts
Curricula
Referenced against Coursera, edX and Kaplan. Questions cite named public sources on the question itself
Your data
One localStorage key. An anonymous answer log is the only central record

Find out which half you actually know

Take a 2-minute check Read how it works first