Live at criterionscore.com. New, and still early.

Criterion: an AI interview coach that shows where every score came from

Practice an interview, see how each answer was scored, and challenge any score you disagree with.

Most interview practice tools give you a number and stop there. You can't see why you got it, and you can't disagree with it. Criterion links every score to the exact words you said that earned it. If you think a score is wrong, you can challenge it, and the model looks at it again in front of you. It can raise the score, hold it, lower it, or escalate it to a human.

Context
My own product
My role
Designed and built it alone, end to end
What I built
An interview coach that links every score to the words that earned it, and lets you challenge it
Status
Live at criterionscore.com. New, and still early. Not tested with users

Product roadmap

Static artifact

This is a static page shown in a frame. To use the real product, run the live app.

Set up Interview Score Debrief

The four steps a candidate goes through

The idea

Why I built Criterion

If a tool tells you that you scored a 6, you learn a number. You don't learn what you said, why it counted, or how to do better next time. So the job wasn't just to score an interview. It was to make the score something a person can check and push back on.

Five components do that work, and each one is shown below. They are the real shipped components, rendered from the live app's own code, not mockups. Next to most of them I explain the decision behind it: what I tried, what went wrong, and what I shipped. The sample content is the app's own demo interview.

Component 01 · Score Card, Confidence Meter

Score Card: each score with its confidence and weight

Most tools show a bare score like "6.5". Here each score also shows its status, how confident the model is, how much it counts toward the total, and why it landed where it did. The score most open to challenge gets a coral border, so you see it first.

The real shipped component, rendered from the live app's code.

Component 02 · Evidence Drawer

Evidence Drawer: the exact words behind each score

Open any score to see the words that earned it. Each piece of evidence has a quote, why it moved the score, and a timestamp that replays the moment you said it. Whether it helped or hurt is shown with an icon and a written note, not by color alone. Hover a quote and the same words highlight in the transcript below.

The real shipped component, rendered from the live app's code.

The decision: replay the words, not a video

TriedReplaying a video clip
The prototype played back a recorded clip of the candidate at the moment a score was set. It looked good in a demo, but it was wrong. Your camera view stays on your device and is never sent anywhere, and the product's promise is that you're judged on what you said.
BrokeIt went against the product's promise
Showing a face on replay brought back the thing the product is meant to remove. If the score is about words, the evidence has to be words.
ShippedThe quote and its context
Replay shows the exact quote a score is based on, the question it answered, when it was said, and what it matched. The replay says plainly what it is showing. If a real clip is ever recorded, it can go in the same spot. Until then, there's nothing to fake.
Component 03 · Challenge Panel, Challenge Thread

Challenge Panel: disagreeing with a score and getting it re-checked

If you disagree with a score, you explain why, and the model re-evaluates it right there. There are four possible outcomes: raise, hold, lower, or escalate to a human. Every challenge and its result stay on the page, so nothing changes out of sight.

The real shipped component, rendered from the live app's code.

The decision: make disagreeing a real option

TriedA feedback form
The obvious version was a "report this score" link that sent a complaint nowhere. People could vent, but nothing changed. That's worse than having no option at all.
BrokeA challenge has to be able to change the score
If a challenged score can never move, the challenge is just for show. The model has to re-evaluate live and be willing to change the score on the record.
ShippedA limited, visible re-evaluation
Each challenge re-scores against the current value, shows its reasoning, and is added to a visible history. It can raise, hold, lower, or hand off to a human. Challenges are capped, and the handoff is always there. Those two limits keep it from turning into haggling.
Component 04 · Interview Stage, Live Read

Interview stage: a live read that updates as you answer

You don't have to wait until the end to see how you're doing. You answer, and a live read updates each time you submit, using the same criteria as the final Score Card. It's marked Provisional because it gets rechecked at the end against the full transcript. The whole conversation stays on screen, so you can always see what's being scored.

The real shipped component, rendered from the live app's code.

Component 05 · Debrief Timeline

Debrief timeline: each answer linked to the scores it moved

The Score Card shows what each criterion earned. The debrief shows what each of your answers did to the scores, which is more useful. Every answer has chips (small tags) for the criteria it affected, marked as helped or hurt, and each chip jumps to that score. It's built from the same evidence as the Score Card, so the two can't disagree.

The real shipped component, rendered from the live app's code.

The decision: one set of evidence, read from both sides

TriedA separate debrief summary
Early on, the debrief was its own write-up, written after the scoring. It read well, but it could drift from the scores. It could say an answer mattered when the scores didn't show that.
BrokeTwo views that could contradict each other
When the debrief and the Score Card are generated separately, they can disagree. Then you can't trust either one.
ShippedOne source for both views
The debrief uses the same evidence graph as the Score Card (the saved links between each answer and the scores it affected), read from the transcript side. Each answer's chips are generated from that data, not written by hand, so they can only point to scores the cards already show.
Measurement plan

How I will know it is working

Criterion is live and early, so I don't have results to share yet, and I won't make any up. Instead, here are the four signals I'm watching in real use. I wrote this plan before any data came in, because choosing what to measure is a design decision too.

Legibility

Do people open the evidence?

If nobody reads the words behind a score, showing them doesn't help. I want to see people open the Evidence Drawer on a real share of scores, not just the low ones.

Accountability

Do challenged scores change for good reasons?

Challenging a score only builds trust if it sometimes changes the score for a good reason. I'm tracking how often scores are raised, held, lowered, or escalated, and reading the arguments behind each.

Completion

Do people reach the debrief?

The debrief is where answers connect to scores, and that's where most of the value is. If people stop at the number, they miss the most useful part.

Trust

Do people act on the result?

The real test is whether someone trusts the result enough to change how they prepare, or to save the Score Card and share it. That's what the whole design is meant to earn.

v1 to v12

What changed from v1 to v12

Each version made the scoring easier to read and easier to challenge. I removed things about as often as I added them. Each step below relates to a component shown above.

early

A bare number. A score and a one-line reason. Clean, but you couldn't learn much from it. Everything after this was built to fix that.

mid

Evidence added. Scores started linking to the exact words. The Evidence Drawer and the transcript highlight came in together. Replay was still a video clip at this point. I cut it later.

mid

Challenges added. The Challenge Panel turned disagreeing into a live re-evaluation with a visible history. The cap and the human escalation were added at this point.

now

No video, one source of evidence. The interviewer became an orb instead of a face, the video replay became a transcript quote, and the debrief was rebuilt on the same evidence as the Score Card.

More case studies

Three more case studies about systems that explain themselves: a dashboard broken down one design choice at a time, an incident console that finds the cause, and a compliance agent that never hides a failure.

Readout, four earthquakes in Japan
A data story about the Kobe, Tohoku, Kumamoto and Noto earthquakes, with live charts built on US Geological Survey data. Every chart opens for a closer look, and the dashboard behind them is public.
Vantage, finding the cause of an outage
When one fault sets off hundreds of alerts, Vantage traces them back to the one that started it, shows the path it took through the system, and points to the slowest step.
Conformly, checking a site against accessibility law
Scans a website against the European accessibility standards (EN 301 549 and WCAG), opens tested code fixes as pull requests, and records every step. It never says a site is compliant, because only a legal review can say that.