About

Hi, I’m Fabio! 👋

I’m based in Brazil and I make my living by turning product ideas into Rails code.

The other thing that interests me is developer environment tooling: it started as making my own setup less painful, became open source, and lately became the kind of environment a coding agent can work inside.

Most of what I wrote recently sits in that same space:

The work itself is still interesting, even if the hype is exhausting.

How I Got Here

I wrote my first Pascal program as a teenager before the 2000s, and I started writing code professionally around 2007: did some PHP, C# / .NET, and (yes) some VB6! Eventually I settled on Ruby (on Rails) around 2010, apart from a year or two in Go and Kubernetes along the way. Yeah, it’s web, so there’s some JS/TS too.

The dev-env tooling obsession interest kicked off as a side project around 2013 and has come back in waves ever since: vagrant-lxc, ventriloquist and devstep were all different shots at the same target, git clone && cd into a project and start working without thinking about infrastructure. Those are archived now, and after another round with crib, I’m moving away from devcontainers toward a personal agent workshop built on mise and a container (or maybe a microVM).

I started this blog in 2013, then life happened and I took an 8-year break before coming back in 2025. In 2022 I rebuilt the site on Hugo and some old content didn’t survive the transition, so if you find a broken link pointing here from somewhere on the internet, that’s probably why.

The Other Thing I Do

Every so often I remember that I also like using tech for civic stuff. In 2017 I used serverless to help Operação Serenata de Amor flag suspicious congressional reimbursements, and during the pandemic I built covid19br.pub to monitor official COVID-19 publications in Brazil. Haven’t touched that space since “life happened”, but with how much easier it’s gotten to hack on things with LLMs in the loop, I probably should.

🤖 AI Use

I use AI as a coding and writing assistant, and I want to be transparent about how.

For code, it’s a pair programmer, sometimes driving while I review and sometimes the other way around. I wrote about that evolution in Skip the ‘No AI Days’ and an earlier post on resistance. Architectural Decisions and Quality Standards are Mine ™️

For writing, AI is used as a copywriter and editor, not a ghostwriter. Usually I brain-dump and it helps me structure before I refine / rewrite / delete from inside Neovim. Ideas, Opinions and Words are Mine ™️ even though some of them might have initially been produced by an LLM.

Get in Touch

Questions, collaboration, or just want to nerd out about tech in general, reach out.

Thanks for reading! 🚀