Katabench
Start free

Changelog

Every release makes the grader a little harder to impress.

Reworked plan limits and clearer upgrade moments

plans limits

We tuned the fairness caps so the free tier stays generous while keeping the platform abuse resistant. Signed-in Free now gets 10 graded submissions a day, a generous 50 runs a day to iterate with, and 3 solution reveals a day. Pro and Pro+ lift the submission, run, and reveal caps entirely (fair use), and Pro+ keeps 4 parallel runs as its differentiator. Every limit now comes from a single source of truth, so the reveal cap is per-plan data rather than a hardcoded free-or-not check.

Hitting a wall is now a clearer moment too: opening a track above your tier shows a proper upgrade panel, the track name, what Pro unlocks, and a direct path to pricing, instead of a flat error.

Why this works: a teaching panel after you pass

learning puzzles

The moment after a clean pass is the one where you're most ready to learn, and the app used to stop at "You passed." Now a collapsible "Why this works" panel appears, an authored explanation of the optimal approach written against the puzzle's real intended solution. It loads only after you solve, so it can never be peeked before you've earned it, the same care we take with hints and the reference. The toggle remembers whether you keep it open. The first explainers are live, with more landing across the catalog.

Speed leaderboards: see where your time ranks

leaderboards performance

Passing was the bar, but fast was invisible, so now it isn't. A clean signed-in pass now shows "Faster than X% of solvers" in the results panel, ranked on your persisted best time for that puzzle so it stays stable across re-submits. Each puzzle also has its own top-25 fastest board. Reveals don't count toward the ranking, the leaderboard is for solutions you actually wrote, and the percentile is computed the moment you pass.

The catalog reaches 374 puzzles across seven tracks

catalog tracks

The catalog now holds 374 graded puzzles across seven disciplines, each with its own grading engine:

🧹 Refactoring (54 puzzles): inherit working-but-awful code, including the famous Gilded Rose, and clean it up. The tests must stay green while structural gates measured from your source (method length, cyclomatic complexity, nesting depth, duplicate blocks) force the mess out.

🛡️ Secure Coding (20 puzzles): fix functionally-correct-but-exploitable code against real attack payloads, path traversal, SQL injection, SSRF, log forging, open redirect. Two suites grade every submission: exploits blocked and behavior preserved.

💡 Design Principles (8 puzzles): small katas on immutability, sealing an aggregate's invariants, and dependency inversion, graded on structure the way the architecture track is.

✍️ Test Writing (24 puzzles): you write the suite, and it passes only when it catches enough planted-bug mutants, coverage that has to actually detect regressions.

The founding tracks anchor the rest: 125 algorithm puzzles with performance gates and allocation budgets, 13 architecture katas, and 130 database puzzles, including the plan-graded ones where the execution plan itself is pass/fail.

Graded query plans for database puzzles

database grading

Database puzzles now grade how the database executed your query, not just what it returned. Submit a LINQ solution and the results panel shows what the database actually did, and puzzles can grade that execution. Getting the right rows the wrong way is now a visible, gradeable mistake.

Memory allocation budgets

grading performance

Time wasn't the whole story, so now it isn't the whole grade: every test reports bytes allocated on the managed heap, and puzzles can set an allocation budget alongside the time budget. The results panel got a memory-budget bar to match, fast but wasteful no longer passes quietly.

A new, faster UI

platform

The whole front end was rebuilt in React, same dark, keyboard-friendly workspace, now fully responsive down to mobile with a slide-over puzzle drawer and Problem / Code / Results tabs. Monaco (the editor inside VS Code) is bundled locally, your in-progress code and solved puzzles carry over, and everything renders noticeably faster.

Get new puzzles and .NET tips in your inbox

A short note when fresh kata land, plus the C# and performance tricks behind the grading. No spam, unsubscribe anytime.