Home/How it works

// How it works

How Prepshotz works

Prepshotz works in one loop: you read a task, write real code in a live in-browser playground, hit Run, and your code is graded automatically by executing it and checking the result. When you get it wrong, you see exactly why - and you try again until it passes.

// The loop, step by step

One loop, every time.

1

Read the task

A clear prompt and, for SQL, the tables you are working with.

2

Write real code

A proper code editor - the same engine that powers VS Code, not a text box.

3

Run

Your code executes in your browser. Nothing to install.

4

Graded for real

The result is checked by running it: the output is compared, or the tests pass or fail. Objective, every time.

5

Learn from the result

On a miss, you see your output next to the expected one and a plain-English reason.

6

Next

The next step unlocks; you keep building.

query.sqlDuckDB-WASM
-- customers with more than 2 orders
SELECT c.name
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.id
HAVING COUNT(*) > 2;

A scripted preview. The real editor is in the app.

// Graded by running it

No opinion involved.

For SQL, we run your query against a real database and compare the result. For code, your solution has to pass a test suite. If it runs and the result is right, you pass - the same bar the real job uses.

✓ Query ran - 3 rows match expected× Output didn't match - attempt 1. You can't filter an aggregate with WHERE; group first, then filter the count with HAVING.

// Help, exactly when you need it

Teaching woven into practice.

You never have to tab out to learn. Each step has a short concept primer, a hint ladder that nudges before it solves, and failure feedback grounded in your actual run output. You learn by doing, with support - not by reading a wall of theory first.

Hint 1 of 3: You need to count each customer's orders.
Hint 2 of 3: Counting per customer means GROUP BY the customer.
Hint 3 of 3: Filter that count with HAVING COUNT(*) > 2 - WHERE won't work on an aggregate.

// It learns what you keep missing

It adapts to you

As you practice, Prepshotz notices the mistakes you actually make and brings them back at the right time, so they stick.

The practice-and-grade loop, weak-spot review and describe-your-own-goal tracks are all live today; goal-built tracks are capped at 5 per account while we are in beta.

// Four languages, live today

Any skill, one loop

The loop is the same whatever you practice. SQL, Python, JavaScript and TypeScript are all live today, and when Java, C++ and C# land you will already know how it works - only the skill changes, never where the Run button is.

See the skills →

Ready to write some real code?

Free while we're in beta.