Skip to content
Ákos Kappel
Language: en
Theme
Light
Dark

Advent of Code

All 374 stars from 2018 to 2025, in a different language every year, tested in CI and shown on an advent calendar dashboard.

Advent of Code dashboard with a calendar of all eight years

About the project

Advent of Code is a yearly event by Eric Wastl: from 1 December, a new programming puzzle unlocks every day, each in two parts, the second a twist on the first. The puzzles start simple and grow into graph search, simulation, dynamic programming and number theory, often with inputs too large for a naive approach.

I use it to learn a new language each December, and I went back to finish the earlier years too: Go for 2018, Java for 2019, Kotlin for 2020, Python for 2021, TypeScript for 2022, JavaScript for 2023, C# for 2024 and Elixir for 2025. Every puzzle of all eight years is solved, 374 stars in total.

Each year is a self-contained project with that language's usual tooling and tests. A GitHub Pages dashboard shows every puzzle as a door of an advent calendar, with links to the puzzle, the solution and its tests.

What you can try

  • Advent calendar of all eight years, where the fill of each door shows how long the solution is
  • Hover or click a door to preview the puzzle and open its solution; the arrow keys work too
  • A table of all years with stars, lines of code and the live CI status of each year's example tests
  • Light and dark theme that follows the system setting

Under the hood

  • Every day is tested against the examples from the puzzle and against my own input
  • One GitHub Actions workflow per year runs the example tests with that language's test framework: go test, JUnit, Kotlin test, pytest, Jest, NUnit and ExUnit
  • A Python script builds the dashboard from the README and the solution files, and a workflow deploys it on every push
  • Each year has its own README with the toolchain, how to run a day and its tests, and a day index
When
2022 – 2025
Type
Personal
Stack
  • Python
  • Kotlin
  • TypeScript
  • JavaScript
  • Go
  • Elixir
  • C#
  • Java
  • GitHub Actions
  • GitHub Pages
Completed Advent of Code 2020 calendar with 50 stars
The official calendar for 2020, completed with all 50 stars.
Dashboard with a selected door and the preview of its puzzle
A selected door shows the puzzle title, the solution length and links to the puzzle, solution and tests.
Advent calendar of all eight years in the light theme
The calendar in the light theme; each row is one year in a different language.

1 of 3

Completed Advent of Code 2020 calendar with 50 stars

The official calendar for 2020, completed with all 50 stars.