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.sql DuckDB-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;

Try it - hit Run & grade.

// 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.

Adaptive drilling and describe-your-own-goal tracks are rolling out through the beta; the practice-and-grade loop is live today.

// SQL today, more tomorrow

Any skill, one loop

The loop is the same whatever you practice. SQL is live now; when Python, JavaScript and others land, you 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.