Improving DX with automatic rebuilds using air

After cleaning up the migration flow, the next DX improvement I worked on was adding air for automatic rebuilds. You can see the changes in this commit.

Because Go is a compiled language, the development loop can feel a bit repetitive. Every time I changed a *.go file, I had to stop the running process in the terminal and run go run main.go again. It works… but doing that over and over is just redundant, especially when I am iterating quickly on backend code.

That is why I decided to use air.

The goal was simple: whenever I save a Go file, the project should rebuild automatically without me needing to manually terminate the process and start it again. With this setup, the feedback loop feels much smoother. I can just keep the terminal running, edit the code, save, and let the rebuild happen by itself.

This is a pretty small change, but it improves the day-to-day development experience a lot. One thing I keep noticing while building this project is that tiny frictions add up fast. Repeating the same terminal steps again and again does not sound like a big problem at first, but over time it slows the flow more than I want.

I also recorded a demo for this one while testing the change. In the video, I keep the Go project running in the terminal, then I change a line in a Go file and save it… and the terminal automatically rebuilds the app without me having to restart it manually. That was exactly the kind of workflow improvement I wanted.

© 2026 Wahyu Syahputra. All rights reserved.