Code you write, not read.
Interview-style problems you solve in the browser — in Python or TypeScript, with real runnable code and hidden tests that check your answer the moment you hit Run. Stub, hints, and a one-click reveal-solution when you're stuck. No account, no setup.
Two Sum
The classic warm-up: find the two numbers that add up to a target. Brute force is O(n²) — a hash map gets you to one pass, O(n). Solve it in Python or TypeScript, right in your browser, with hidden tests and a reveal-solution button.
Valid Parentheses
The canonical stack problem: decide whether every bracket is closed by the right type, in the right order. A stack turns nested matching into a single pass. Solve it in Python or TypeScript with hidden tests.
Fizz Buzz
The famous screening question. Print 1…n, but multiples of 3 become "Fizz", of 5 become "Buzz", and of both become "FizzBuzz". Easy — the catch is testing divisibility in the right order. Solve it in Python or TypeScript.
Softmax
The function at the end of every classifier and language model: turn raw scores (logits) into a probability distribution. Implement the numerically stable version so big logits do not overflow. Solve it in Python or TypeScript.
Cosine Similarity
The measure behind every embedding search and RAG system: how aligned are two vectors, ignoring their length? Dot product over the product of magnitudes — 1 identical, 0 orthogonal, -1 opposite. Solve it in Python or TypeScript.
Top-K Retrieval
The core of the "R" in RAG: given a query embedding and a set of document embeddings, return the indices of the k most similar docs by cosine similarity, with a stable tie-break. Solve it in Python or TypeScript.
Token-Level F1
The metric behind QA evaluation (SQuAD and friends): how well does a predicted answer overlap a reference as a bag of words? Compute token precision and recall, then their harmonic-mean F1. Solve it in Python or TypeScript.
Coding challenges — frequently asked questions
What are these coding challenges?
Each challenge is a classic interview-style problem you solve in your browser. You get a stub, a problem statement with examples, and hidden tests. Write your solution in Python or TypeScript, hit Run, and the tests tell you instantly whether it works — no account, no setup, nothing to install.
How does the code actually run with no server?
Entirely in your browser. Python runs as real CPython compiled to WebAssembly (Pyodide); TypeScript is transpiled on the fly. The site is a static site with no backend, so your code never leaves your machine.
Can I see the solution if I get stuck?
Yes. Every challenge has hints and a one-click "Reveal solution" button that drops a clean, commented reference implementation into the editor. The goal is to build intuition — struggle first, then compare your approach with the canonical one.
Do these help with coding interviews?
Yes. The challenges target the array, string, hash-map, stack and two-pointer patterns that show up constantly in technical screens. Solving them by hand — then checking against hidden tests — is far more durable practice than reading solutions. Many also cross-link to an animated visualizer so you can see the underlying algorithm work.
Are the challenges free?
Completely free, with no sign-up. Your solved progress is saved locally in your browser so the catalog remembers what you have finished.