The Last 10% Takes as Long as the First 90%
For most developers, Advent of Code starts off with fun puzzles that can be solved before your coffee gets cold. Days get progressively harder (not always linearly), and participation drops off exponentially. This makes sense! People are busy and solving problems with no immediate reward is hard to justify.
What does solving all 25 days really take though? This website showcases my personal journey working through all of the problems. I'm a professional software developer by day, I have a graduate degree in computer engineering, and I spend a lot of my free time building hobby projects. It still was challenging! Maybe others will find it useful to see the timeline of my progress, or relate to some of my frustrations.
My experience with AoC 2022 was a classic example of the ninety–ninety rule. Most problems could be knocked out quickly while I avoided the hard ones. A handful of challenging problems were enough to slow me down significantly, making the last 10% take as long as the first 90%.
The following "Acts" describe the three major phases of my AoC 2022 journey. Many problems were solved quickly in December, while others stretched into the new year. The hardest problems fell to the wayside as I balanced other life commitments, but they were eventually solved nearly two years later.
Completing things is hard, but personal growth and fulfillment is at the end of the tunnel.
The December sprint
Days 1–15 · Solved same-day or close to it.
The early days went down before bed. Day 3 was committed at 12:39am. There was even time to experiment with Haskell.
“My first Haskell program :)”commit, day 1
Even by day 8, code could be written in deliberately complex ways or with obscure patterns.
“NOTE: Was trying to abuse higher-order functions. Obscure code below.”day-8.py
The wall
Days 17–25 · Finished over the following weeks.
Solving the back half of problems in a single evening wasn't possible. Several days were parked in December and picked back up in January (cube folding, cycle detection, and one problem whose wording never quite made sense). Day 22 was worked out on paper before any code was written.

As problems grew more complex, there were more "aha!" moments along the way.
“Massive speedup by caching blizzard movements :D”commit, day 24
The long tail
Days 16 and 19 · Finished in 2024.
Two days persisted into the next year. Day 19 took 40 commits across three separate working sessions. It was abandoned twice before a rewrite finally landed. Advent of Code was finally completed!
- Jan 2024 Saving progress. In broken state, running too slowly.
- Feb 2024 Continuing debugging efforts.
- Aug 2024 Picking back up. Improving console output formatting.
- Sep 2024 Still so slow for part 1.
- Sep 2024 Completed day 19.