Advent of Code 2025

Here we go again! Christmas needs saving and what a better way to save it than solving Advent of Code puzzles.
This year, I’m doing a few of things:
- I’m solving these puzzles with Python
- I’m writing explanations to help people learn Python and software development
- I’m publishing all my notes in this digital garden, see below
I’ve been writing and talking about the benefits of taking good notes as a software developer. I want to show how Advent of Code can be a good way to get started. To inspire new people to start taking notes, I’m sharing all of my notes: solution explanations and technical notes about relevant topics.
From this repository in GitHub, you can find the code solutions. For explanations, check links to daily notes below.
Personal scoreboard
- Day 1: ⭐️⭐️ code : explanation
- Day 2: ⭐️⭐️ code : explanation
- Day 3: ⭐️⭐️ code : explanation
- Day 4: ⭐️⭐️ code : explanation
- Day 5: ⭐️⭐️ code : explanation
- Day 6: ⭐️⭐️ code : explanation
- Day 7: ⭐️⭐️ code : explanation
- Day 8: ⭐️⭐️ code : explanation
- Day 9: ⭐️⭐️ code : explanation
- Day 10: ⭐️⭐️ code : explanation
- Day 11: ⭐️⭐️ code : explanation
- Day 12: ⭐️⭐️ code : explanation
How to run my code
- Create a folder
inputs/in the root. - For each day’s input, create a
inputs/day_{daynro}.txtfile. - Optionally, create
inputs/day_{daynro}_example.txtfile with an example input from the puzzle description. cd src/uv run day_1.py(replace 1 with the day you want to run)- To run with the example code, add
example=Truetoread_inputcall in that day’s code.
Follow via RSS
I have created a custom RSS feed for these solutions so you can follow along and not miss any of them!
Other people whose solutions and explanations I follow
I’m not the only one sharing their solutions and explanations. Here are some that I enjoy: