I just launched Katabench, it's a practice platform for .NET developers.
Here's why I built it.
Most coding practice tells you whether the output is correct. It doesn't tell you what the code actually did.
An O(n²) solution can pass the same functional tests as an O(n) solution.
A LINQ query that scans 60,000 rows can return the same data as one that uses the index.
A vulnerable feature can pass the same happy-path tests as a safe one.
Production cares about the difference.
So I built Katabench to grade those differences: wall-clock time, managed allocations, real database query plans, code structure, architecture rules, and adversarial security cases.
Now I can open a database puzzle, write C# with LINQ or raw SQL in the browser, and submit it against a real, throwaway PostgreSQL database. Katabench captures the plan PostgreSQL actually chose and checks explicit rules against it.
Did you avoid the full table scan? Did PostgreSQL use the required index? Did the query stay to one round trip?
Same rows. Very different work. Now the green checkmark means more than "the rows matched".
Katabench has 374+ puzzles across seven disciplines: Algorithms, Database & EF Core, Refactoring, Architecture, Secure Coding, Design Principles, and Test Writing. It also has six guided Learning Paths with 98 exercises, progressive hints, reference solutions, streaks, XP, quests, and achievements.
It's free to start. The full algorithm track with performance grading costs nothing, and you can try a puzzle without even signing up.
This is the tool I wish I had ten years ago: https://lnkd.in/dUkDtjSs
P.S. Next up is System Design Studio. You'll build an architecture on an interactive canvas and get deterministic feedback on required components, forbidden connections, and single points of failure instead of only comparing your answer with a reference diagram.