The Wrong Answer Is the Interesting Part
Six out of ten
You finish a practice quiz and the screen says 6 out of 10.
Now what? The only advice a score can give you is "practice more", which you already knew. You were practicing. That is how you got the six.
A score tells you how much you got wrong. It says nothing about what. Two people can both land on 60% and need completely different things. One has a single misunderstanding that cost them four questions. The other has four unrelated gaps. Same number, different fix, and the number cannot tell them apart.
The first version of Kuiz Space, my practice platform for CS placement prep, worked exactly like that. You picked a subject, answered the questions, and when you finished it sent you to a chart of your accuracy over time. No review, no reasons. Just a line that was supposed to go up.
It was a perfectly normal quiz app, and that was the problem with it. The version I have been building since is organised around one idea: the wrong answer is the interesting part.
Wrong answers are not all wrong the same way
Here is a question you would find in any DBMS prep set.
SELECT department, COUNT(*)
FROM employees
GROUP BY department
-- keep only the departments with more than 10 employeesWhere does COUNT(*) > 10 go? The options are HAVING, WHERE, GROUP BY and ORDER BY. The answer is HAVING.
Now look at two of the wrong answers, because they come from very different places.
The student who picks WHERE understands the assignment. They know they need a filter, and WHERE is the filter they know. What they are missing is the order a query runs in: rows are filtered before they are grouped, so at the moment WHERE runs, there is no count to compare against. That is a five-minute fix.
The student who picks ORDER BY has a different problem. They are not mixing up two filters. They think sorting can remove rows. That is not a detail about evaluation order, it is a misunderstanding of what each clause is for, and it will show up again in questions that have nothing to do with counting.
A score records both of those as the same thing: one wrong answer, minus ten percent. The student just told you exactly what they misunderstand, and the score threw it away.
One explanation per question explains the wrong thing
Most practice sites attach one explanation to the whole question. Something like: the answer is HAVING, because HAVING filters groups after aggregation.
That is correct, and it is written for the right answer. If you picked WHERE, it tells you what someone else was thinking and leaves you to work out what was wrong with what you were thinking. Most people do not. They read "the answer is HAVING", nod, and carry the misunderstanding into the next question.
So in Kuiz Space, the explanation lives on the option, not the question. Every option explains itself: why it is right, or why it is tempting and exactly where the reasoning breaks.
type Option = {
text: string;
correct: boolean;
// Why this option is right, or why it is tempting and where it breaks.
explanation: string;
};For the question above, that looks like this:
HAVING ✓ Filters groups, after they have been formed and counted.
WHERE ✗ Runs before grouping, one row at a time. There is no
COUNT yet for it to compare against.
GROUP BY ✗ Builds the groups. It does not decide which ones you keep.
ORDER BY ✗ Sorts whatever is left. It never removes a row.When you finish a quiz, the review goes through every question and shows the explanation for the option you picked, next to the one for the right answer. So a wrong answer does not just come with the correct answer attached. It comes with a reply to your reasoning specifically.
It is a small change to the data. It changes what the review is for. It stops being an answer key and becomes feedback on the answers you actually gave.
Four explanations instead of one
The cost is obvious: a four-option question needs four explanations instead of one. That is the whole price of the idea, and it is paid once per question, not once per student.
The less obvious part is that writing them is a test of the question.
An explanation for a wrong option has to answer something most quiz writing skips: why would anyone pick this? If there is a good answer, the option is doing its job. It catches a real misunderstanding, and its explanation is aimed straight at it. If there is no good answer, the option is filler. And a question with a filler option is secretly a three-option question, easier than it looks and measuring less than it claims.
Every wrong option has to survive that question. If you cannot write the sentence, the option should not be there.
An explanation you can see early is just the answer
All of this only works if the explanation shows up after you have committed to an answer. An explanation you can read before answering is just the answer with extra words.
The first version of Kuiz Space got a version of this wrong. The correct answers were sitting in the page data, where anyone curious enough to open DevTools could read them. That was fixed before launch, and now the page does not learn the right answer to a question until you have locked in yours.
A score is a summary
I wrote about a similar number in Progress Is Not a Field: a progress bar that looks like information and is not. A quiz score is the same kind of number. 60% is true. It just is not useful on its own.
What you actually want to walk away with is a sentence, not a percentage. WHERE runs before the groups exist. That sentence is worth more than the next ten questions, because it fixes every future question that depends on it.
That is what I want Kuiz Space to produce. It is opening up for early access, with tracks for DBMS, OOP, operating systems, computer networks, system design and aptitude. Go get a few wrong. That is where the good part is.