rvnash
AOC 2025 is right around the corner. Last year, my first year, I just started a raw Elixir application and manually created modules for each day’s challenge. This year I’m thinking of starting with the aoc package. Anyone have opinions about what the most helpful framework is for enjoying this year’s challenges?
Trending in Challenges
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex











Showing Posts 7 to 1- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
al2o3cr
I keep it super-minimal; each day is a subdirectory with
part1.exsandpart2.exsfiles (and inputs) and I run code withelixir part1.exsetcUsually that file defines a module, then has top-level code afterwards that uses the module.
Some of the problems can be solved with literally just a chain of pipes, no module required.
sevenseacat
I have one repo for alllllll of my puzzle solutions that I keep building in every year - GitHub - sevenseacat/advent_of_code: My Elixir solutions to Advent of Code · GitHub (spoilers: includes solutions for 457 stars and counting)
My daily process is pretty simple -
mix day <year> <day>eg.mix day 2025 1to generate a skeleton module/test module for the day’s solution (which will be inlib/y2025/day01.exandtest/y2025/day01_test.exs)lib/y2025/input/day01.txtY2025.Day01.part1()iniexto test out my part 1 solution, etc.vkryukov
Of course - I never use LLMs for solving the problems themselves, just to write the automation around fetching the problems etc.
adamu
Note that AoC recommends that you don’t use LLMs. Here’s mine:
dayN.exsto relevant dateREPLACE_MEwith relevant dateelixir script.exs inputThat’s it. That’s the whole setup.
vkryukov
Frankly, with LLMs these days, you don’t necessarily need to rely on external packages for simple things - you can just ask the LLM of your choice to write your own little modules (or even write them yourself!).
My approach: 1) a module to download and cache the input files, called like this:
AOC.input!(1, 2015)(first call downloads, consequtive calls read from the disk), 2) two simple templates calledlib/y2015/day00.exandtest/y2015/day00_test.exs, 3) a mix tasks that would copy this tasks in appropriate places and change 00 to whatever the proper date is. So that I can modify the templates for my liking - they are just elixir files.That’s it. That’s the whole setup.
lud
The aoc package is opinionated, it creates modules with the parse/2, part_one/1 and part_two/2 functions, and it creates tests if you fancy some TDD. If you do not like that, you can still use it just to fetch the inputs locally.
If you want to do your setup yourself I guess starting with a bash script that generates a module can be enough.
I’d suggest to try aoc right now, see the Are you trying this library before December 1st ? section so you know if it is useful to you before day 1.
This is my bash command to work with my package that I run every morning:
adamu
Here’s a similar thread, which also contains my opinion