abreujp
New article: Elixir Project Structure — From mix new to a Growing Codebase
I’ve published a new article in my Elixir learning series on dev.to exploring project structure — what happens when an Elixir project outgrows a handful of modules pasted into IEx, and how a real Mix project keeps everything navigable as it grows.
What the article covers
- Spinning up a fresh project with
mix newand walking through the anatomy of the default layout - File paths mirroring module names, with a before/after of a module that lived in the wrong place
- Growing
lib/with real modules (a small Todo feature) and watching the tree branch into subdirectories - Running the project with
mix runand dropping back into IEx withiex -S mix priv/for runtime assets the code reads at startuptest/for the project’s own testsconfig/andconfig/runtime.exs, and the difference between build-time and runtime configuration- Drawing boundaries so a project stays navigable — what’s internal, what’s external, and what other code is allowed to reach
With complete working examples you can copy into a real Mix project, you’ll learn how a project’s directory map and module naming keep a growing codebase readable — a big step toward organizing Elixir code confidently.
Check it out:
Trending in Blog Posts
Up until then, I found it very hard to communicate to LLMs that I specifically do not want to handle X case because maybe it has never ha...
New
The words are insufficient to describe what transpired. What we tried to do met what the people wanted it to be. It became beautiful.
Th...
New
Hi all,
I’ve built a small demo app to understand what an “AI agent” actually is under the hood, and to show it with Elixir’s own tools ...
New
In Elixir, send/2 is non-blocking, which means an eager producer can easily flood a slow consumer’s mailbox. Because BEAM process mailbox...
New
Secure boot and a verified root filesystem on an STM32MP157F-DK2 - with Nerves of course
Four links of an authenticated boot chain on an ...
New
A backtest worker and a live trading node had to share one broker rate limit and one set of OAuth tokens, and both only work if there’s e...
New
I wrote a longread on how do I test code. Everything I gained from 10 years of experience writing code without any testing and 20 years w...
New
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
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
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
- #ai
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming










Showing Posts 1 to 3- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
roflbobl
Nice article! In regards to enforcing boundaries, check this lib out! Boundary — boundary v0.10.4 its really neat when you work on a big project.
abreujp
Thanks! Boundary sounds great for exactly that. I’ll give it a look. Appreciate it!
widianto
Nice article!