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

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
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.

1 of 1

Completed Advent of Code 2020 calendar with 50 stars

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