I’ve always loved the concept of "learning by doing." When I first stumbled upon SQL Noir, I was hooked. It’s a fantastic open source project that gamifies database management by turning you into a detective. It was brilliant, immersive, and undoubtedly the pioneer of the genre.
But as I played, and as I watched others play, I noticed two major points of friction that kept beginners from becoming masters:
The "Tab Fatigue": Constantly switching between the query editor and the schema documentation breaks your flow.
The "Sink or Swim" Validator: Getting a query wrong because of a syntax technicality (even when the logic was right) is demoralizing.
I decided to build SQL Case Files not just to clone the genre, but to refine the user experience into something that teaches as well as it tests.
Here is how I took the detective concept and gave it my own spin.
1. The "Sticky Schema" (Solving Tab Fatigue)
The biggest complaint in browser based SQL games is memory load. You look at the schema, remember crime_scene_report, switch to the editor, and immediately forget if the column is date or report_date.
In SQL Case Files, I implemented a Sticky Schema. The database structure stays visible right alongside your editor. You never have to context switch or lose your train of thought. It sounds like a small UI tweak, but it changes the game from a memory test to a logic puzzle.
2. From Client-Side to "Cheat-Proof" Server Validation
I originally built this as a local only WASM app. It was fast, but it had a flaw: it was too easy to "inspect element" and bypass the hard work.
If I wanted this to be a real learning tool and eventually a place for serious certifications I needed integrity. I rebuilt the backend with Server-Side Validation. This ensures that when you solve a case, you actually solved it.
But I kept the "soul" of the game flexible. I validate your Result Set, not your Query Syntax.
Did you find the killer?
Is the evidence correct?
I don't care if you used a JOIN or a subquery to get there. If the data is right, the case is closed. This flexibility encourages you to find your own style.
3. Query History & "Premium" Tools
Detectives take notes. In most games, if you delete a query, it’s gone forever. I added a robust Query History feature so you can look back at your previous attempts, compare logic, and learn from your mistakes without rewriting code from scratch.
The Launch: 15 Premium Cases (Free for Now)
To celebrate the launch (and the rewrite), I’ve opened up the vault. For the first few weeks, I am releasing 15 Premium Puzzles for free.
These aren't just "SELECT * FROM table" tutorials. These are complex, narrative driven cases that will force you to use JOINS, aggregations, and filtering to catch the culprit.
The Verdict
If you want to test your skills in a raw, minimalist environment, SQL Noir is still a classic. But if you want a polished detective experience with tools designed to help you learn : sticky schemas, query history, and logic based validation I’d love for you to open a dossier.
hackstarky•58m ago
But as I played, and as I watched others play, I noticed two major points of friction that kept beginners from becoming masters:
The "Tab Fatigue": Constantly switching between the query editor and the schema documentation breaks your flow.
The "Sink or Swim" Validator: Getting a query wrong because of a syntax technicality (even when the logic was right) is demoralizing.
I decided to build SQL Case Files not just to clone the genre, but to refine the user experience into something that teaches as well as it tests.
Here is how I took the detective concept and gave it my own spin.
1. The "Sticky Schema" (Solving Tab Fatigue)
The biggest complaint in browser based SQL games is memory load. You look at the schema, remember crime_scene_report, switch to the editor, and immediately forget if the column is date or report_date.
In SQL Case Files, I implemented a Sticky Schema. The database structure stays visible right alongside your editor. You never have to context switch or lose your train of thought. It sounds like a small UI tweak, but it changes the game from a memory test to a logic puzzle.
2. From Client-Side to "Cheat-Proof" Server Validation
I originally built this as a local only WASM app. It was fast, but it had a flaw: it was too easy to "inspect element" and bypass the hard work.
If I wanted this to be a real learning tool and eventually a place for serious certifications I needed integrity. I rebuilt the backend with Server-Side Validation. This ensures that when you solve a case, you actually solved it.
But I kept the "soul" of the game flexible. I validate your Result Set, not your Query Syntax.
Did you find the killer?
Is the evidence correct?
I don't care if you used a JOIN or a subquery to get there. If the data is right, the case is closed. This flexibility encourages you to find your own style.
3. Query History & "Premium" Tools
Detectives take notes. In most games, if you delete a query, it’s gone forever. I added a robust Query History feature so you can look back at your previous attempts, compare logic, and learn from your mistakes without rewriting code from scratch.
The Launch: 15 Premium Cases (Free for Now)
To celebrate the launch (and the rewrite), I’ve opened up the vault. For the first few weeks, I am releasing 15 Premium Puzzles for free.
These aren't just "SELECT * FROM table" tutorials. These are complex, narrative driven cases that will force you to use JOINS, aggregations, and filtering to catch the culprit.
The Verdict
If you want to test your skills in a raw, minimalist environment, SQL Noir is still a classic. But if you want a polished detective experience with tools designed to help you learn : sticky schemas, query history, and logic based validation I’d love for you to open a dossier.
Play it here: SQLCaseFiles.com