Join us on Discord and Linkedin to follow the initiative.
Time loop edition: revisiting old exercises as memories, unlocking them with Key Activations, and documenting your journey.
Christmas is closing in again. You’ve already survived a couple of December adventures, refactored some questionable code, and probably shipped features you’re still not proud of.
This year, instead of yet another “new exercise every day”, we’re doing something different:
- We reuse the exercises from the 2023 and 2024 editions.
- We treat them as memories from previous loops.
- Each day, you get:
- a short memory fragment (a narrative echo of an old challenge),
- a Key Activation: a focused call to action (refactoring, testing, design, tooling, collaboration, etc.),
- and the space to explore and discuss everything on Discord.
The goal is not to finish all the exercises. The goal is to unlock memories, experiment with new angles on familiar code, and grow your craft with others.
-
Advent of Craft 2023
The original journey into software craftsmanship: daily exercises on refactoring, testing, design, and more, each with a proposed solution and step-by-step guide.
→ 2023 repository -
Advent of Craft 2024 - North Star Solutions
A narrative-driven calendar set in the world of North Star Solutions, following a consultant through increasingly complex challenges in multiple languages.
→ 2024 repository -
Advent of Craft 2025 - Time loop & memories
This edition reuses the 2023/2024 challenges as memories, adds new Key Activations, and focuses on reflection, experimentation, and community discussion rather than daily solutions.
Instead of “Day N = brand new kata + solution tomorrow”, this year looks like:
- You work inside a single repo: this one (
2025). - 2023 and 2024 exercises live under
memories/as snapshots. - Each day you read an activation file with:
- a memory fragment (short story / context),
- a Key Activation (what to actually do),
- pointers to the relevant memory code.
- You keep track of your own journey in a file under
journey/. - Discussions, questions, screenshots, and sharing all happen on Discord.
All the past code is gathered under:
memories/2023/...- curated snapshot of Advent of Craft 2023memories/2024/...- curated snapshot of Advent of Craft 2024
They keep (as much as possible) the original structure:
memories/
2023/
exercises/
<stack>/
day01/
day02/
...
2024/
exercises/
<stack>/
day01/
day02/
...
In 2025, there is no new “all-inclusive exercise per day”.
Instead, each day has one main Key Activation, for example:
- “Base your refactoring on complexity metrics.”
- “Do a cross-review with another participant’s fork.”
- etc
You’ll find them under challenges/dayNN/README.md, along with the memory fragment and links to the matching code in memories/.
You choose how deep to go: do a 30-minute pass just to poke at the code, or turn it into a multi-hour deep dive if you want.
You can push your solution in the /community/solutions folder by copying the template (in /community/solutions/TEMPLATE-[replace-with-your-name].md) in the corresponding day and fill it up with your name and fork information.
community/
solutions/
TEMPLATE-[replace-with-your-name].md //to copy and fill
day00/
paul.md //paste it here
day01/
...
...
We strongly encourage you to keep a journey log in the repository:
Copy journey/TEMPLATE.md to journey/<your-name>.md.
After each day you participate, jot down:
- which memory you worked on,
- which Key Activation you picked,
- what you discovered (in the code, in your habits, in your biases),
- anything you want Future-You to remember.
Here are the instructions for your journey
Advent of Craft is an initiative run by a small group of software crafters who care about:
- long-lived codebases,
- learning in public,
- and making December a time for reflection as well as fun.
The core team and many contributors are the same as in previous editions. You can find them (and maybe yourself) in:
- the Contributors section of the 2023 and 2024 repositories,
- the “Founders / Contributors” sections and visuals there,
- and of course on Discord.
|
Yann Courtel |
Laurent Decamps |
|
Yoan Thirion |
Guillaume Faas |
Dylan Dyshay |
Pierre Belin |
