Inspiration
I'm a Business Analytics student, so SQL is something I need to know and will probably use a lot in the future. Data is becoming a huge part of how businesses make decisions, but honestly, learning SQL from endless exercises like "select this column from this table" can get boring pretty quickly.
I wanted to make something I would actually enjoy using myself.
Part of the inspiration came from games and learning tools that turn difficult things into small challenges. I especially liked the way chess platforms give you hints when you're stuck instead of simply giving you the answer. I thought: why not do something similar for SQL?
That's how SQL Adventure started — a game where instead of just completing SQL exercises, you investigate weird business situations and slowly figure out what query you need.
What I built
SQL Adventure is a beginner-friendly SQL game with four cases that get progressively more difficult.
You start with simple SELECT queries and eventually work with things like ORDER BY, COUNT, GROUP BY, HAVING and UPDATE.
Each case gives you a small database, a problem to solve and an SQL terminal. You can actually run your query and see the result. There is also a progressive hint system if you get stuck and a SQL Guide explaining the commands.
The cases are intentionally a little ridiculous. You investigate missing money, suspicious payroll records, questionable business expenses and finally decide who deserves a promotion. I wanted it to feel more like solving a mystery than doing homework.
How I built it
I built the project with React, TypeScript and Vite, with AlaSQL handling SQL queries directly in the browser.
This was my first time building a full interactive web application, so a lot of the development was basically me having an idea, figuring out how it could work, breaking something, fixing it and learning along the way.
One thing I really wanted was for the game not to only recognize one exact query as the correct answer. Where possible, it checks the actual result or the changes made to the data instead.
Challenges & what I learned
The hardest part was definitely connecting SQL with the game logic. Making a query run was one thing; making the game understand what the player actually accomplished with that query was another.
I also spent much more time than expected fighting with layouts, tables, different screen sizes and making four cases feel like one consistent game.
But that's also probably what I liked most about this hackathon. Before this project I had never built and deployed a complete React + TypeScript application. During the process I learned a lot about React state, TypeScript, Git, debugging, browser-based SQL and deployment.
And, most importantly, I went from "I have this random idea for an SQL game" to having an actual working game on the internet.
AI usage
I used ChatGPT throughout the project as a learning and development assistant — mostly for brainstorming, explaining things I didn't understand yet, debugging, and helping me find better ways to implement some of my ideas.
I still made the project and gameplay decisions myself, tested everything as I built it, changed a lot of suggestions along the way, and tried to understand what the code was actually doing instead of just copying it.
What's next
I'd love to add more cases and eventually introduce JOINs, subqueries and more complicated datasets.
I also think the game could become much more story-driven, with progress tracking, scoring and different investigation paths.
For now though, I'm just really happy that my first SQL Adventure actually works :)
Built With
- alasql
- css
- git
- github
- react
- typescript
- vercel
- vite

Log in or sign up for Devpost to join the conversation.