The Big Review - 2024

Dan Kent December 29, 2024

AI Summary πŸͺ„

The first ever Advent of SQL (2024) drew 3.5K signups with 2K active participants. While successful in teaching SQL skills and garnering support, it faced challenges with some bugs. Plans for 2025 include a new REPL environment, better testing, and improved difficulty scaling. The creator deemed it a rewarding experience and can’t wait for next year.

Introduction

We made it! Congratulations to everyone who attempted a challenge! 2024 was the first year I've run the Advent of SQL, and I wanted to do a write up of what went well, what went badly, some fun stats, and what I'm going to do differently in 2025.

Firstly, I want to say a big thank you to everyone who participated! πŸŽ‰ and a massive thank you to my wife ❀️ for helping me with the design of the site (especially the calendar).

I've received some amazing messages of support and encouragement for which I'm so grateful. I've also received lots of feedback using the star rating system which has been super helpful to improve things, so keep it coming.

Fun stats

Total sign ups
3.5K
Users who tried a challenge
2K
why did 1.5k not try a challenge?
Day 21
Highest rated challenge
4.5 stars

There was a big drop off of users attempting challenges after day 1 and 2 which is both because of bugs with the challenges and just a natural drop off. I'll dig into that below.

What went well?

Lots of people signed up

Its awesome how many people signed up and I'm so grateful for your support. I was confused why so many signed up but didn't attempt a challenge but I guess thats what happens with these types of challenges.

Lots of supportive messages

I've received some amazing messages of support and encouragement for which I'm so grateful, I read each one and it means a lot to me so thank you for the kind words!

People learned new skills

Some of those nice messages included people saying they learned new skills from JSON handling, to CTEs, to window functions, which is awesome! I'm so glad to hear that! Its what I hoped for when I started this.

People had fun!

The coolest thing about this whole project has been the people messaging me saying how much fun they had doing the challenges! Here’s a nice one:

Hi! Thank you so much for the work you put into the Advent of SQL thing. It was a great set of exercises, and I really admire the effort that went into it. Considering this was the first time this was held, I'm really impressed! Hope you or the community repeats it again next year!

What can be improved?

Submitting answers

Some challenges were initially released with bugs that meant they were not possible to solve. This obviously shouldn't have happened, and I'll make sure more testing is done before release next time.

The data

One interesting piece of feedback I received here was not using unique table names which made it harder to maintain a single database with all the data. I didn't expect this to be a use case but it turns out some people were hosting the data for their teams to use, which is very cool 😎. In 2025 I'm going to use unique table names or schemas for each challenge and have a REPL environment to run and submit the queries.

Some people had issues with the syntax and had to edit the test data to fit their database of choice, in 2025 I'm going to try to keep the SQL as database agnostic as possible.

Challenge ordering

The ordering was a bit off, some challenges early on were far too difficult, and some later ones were too easy. I'm going to put more emphasis on nailing this in 2025.

What about 2025?

New REPL environment

I'm going to build a new REPL environment for submitting answers. This will unlock new types of challenges and hopefully remove some of the issues people have with database extensions/ syntax (although db fiddle did allow for this too). Hopefully I can also make a way of evaluating submitted queries too. That said, I'm still going to support downloading the SQL data so you can use your own database if you want.

Challenge testing

I'm going to recruit volunteers to help me test the challenges before they go live. This will help me make sure the challenges are as good as possible and that they are challenging but not too hard.

I also want to implement a better feedback system for the challenges so I can get more useful feedback on what is working and what isn't.

Challenge topics

I'm going to try and make the challenges more interesting and challenging. I'm open to suggestions for topics you would like to see so feel free to reach out if you have any.

More useful hints

To make it easier for less advanced people I'm going to add more useful hints to the challenges. It would be nice to link out to useful resources or videos explaining concepts.

More Elixir features

I want to ship some more features leveraging the Elixir tech stack running the platform. Things like realtime leaderboards, private leaderboards, AI evaluators, realtime community features.

Conclusion

It has been a lot of fun running the challenge this year and I'm so grateful for all the support and encouragement. Thank you all!

I'm taking a break from the site over the holidays to spend time with my family and then I'll start working on the new REPL environment and designing new challenges in 2025!

Thanks for reading, and I hope you have a great holiday season! Merry Christmas and a Happy New Year! πŸŽ„πŸŽ‰

Suggest an idea for 2025 πŸ—“οΈ

I love hearing your ideas for challenges, and I read all of them.

Some suggestions that I used this year included XML parsing, JSON parsing, recursive CTEs, and array manipulation.