Advent of Code

Advent of Code is an annual set of Christmas-themed computer programming challenges that follow an Advent calendar. It has been running since 2015.

The programming puzzles cover a variety of skill sets and skill levels and can be solved using any programming language. Participants also compete based on speed on both global and private leaderboards.

The event was founded and is maintained by software engineer Eric Wastl.

History
Advent of Code was created by Wastl, who is still the sole maintainer of the project.

The event was initially launched on December 1, 2015. By midnight EST (UTC−05:00), 81 people had signed up for the event, going slightly over Wastl's planned 70-participant capacity. Within 12 hours, about 4,000 people had joined, nearly causing a system crash. After 48 hours, there were about 15,000 people, and by the end of the 2015 event, the total had risen to 52,000.

In 2020, perhaps due to the COVID-19 pandemic, the event saw a 50% growth in traffic, with over 180,000 participants worldwide.

On December 4, 2022, Wastl announced that the project had reached 1,000,000 registered users.

Puzzle design
Puzzles consist of two parts that must be solved in order, with the second part not revealed to the user until the first part is solved correctly. Participants are awarded a silver star for completing the first part of a daily puzzle, and a gold star after completing the second.

Each puzzle contains a fictional backstory that is the same for all participants, but each person receives a different piece of input data and should generate a different correct result.

Puzzles are released on a daily schedule from December 1 to December 25 at midnight EST. There is no time limit to complete the puzzles, and puzzles from past years' events remain available to solve.

Some participants have used tools such as GitHub Copilot and ChatGPT to assist in solving the puzzles. In 2023, Wastl requested that users abstain from using these tools until after the leaderboard has been filled for the day, stating that "the leaderboards are for human competitors".

Preparations
According to a comment in the HTML code on each page of the event's website, Advent of Code runs using custom Perl code. Wastl built almost the entire website himself, including the design, animations, prose, and puzzles. (He relies on other services for authentication, analytics, and social media integrations.)

Each year, Wastl creates and tests the 25 puzzles in advance. This takes 4–5 months of work each year.