Jason	Axelson

Jason Axelson

Nerves and Scenic Enthusiast; Engineering Manager at Felt

Jason has been a professional developer for 11 years, using a variety of programming languages before falling in love with elixir in 2016. He enjoys writing developer tooling and has contributed to ElixirLS along with several other dev tooling projects. He enjoys tinkering with hardware and pushing Elixir to its limits. Oh, and he also enjoys a good whiskey.

Talk:
A Dev Environment for Every Branch

What if every branch had its own server, its own database, and its own HTTPS URL — ready the moment you created it? That’s what git worktrees make possible, but git worktree add is not enough, you also need to build a workflow around it.

In this talk, I’ll show how I built a workflow that makes worktrees practical for Phoenix apps: copying _build artifacts with copy-on-write, cloning the Postgres database, automatically assigning ports so your servers never collide, and giving every branch its own URL — like https://my-feature.local (look Ma, no port!). I’ll also show how I used LLMs to build the script itself, and how you can prompt your way to a version that fits your personal workflow.

Key takeaways:

  • git worktrees lower the cost of context switching, but only with intentional tooling around them useful
  • we shouldn’t settle for not having isolated dev environments for each branch, one single shared dev environment is too limiting
  • LLMs are excellent at generating and adapting workflow automation scripts for your personal workflow

Target audience:

  • Any Elixir developer who has felt the friction of switching branches mid-flow — whether juggling features, hotfixes, experiments, or PR reviews. Developers who’ve tried git worktrees and given up will find a complete, practical workflow here. Comfort with the terminal is helpful but no shell scripting experience required.