· Jonathan Cutrer · Tools · 2 min read
Every Layer of My Dev Setup in 2026
A visual breakdown of the tools, languages, and infrastructure I'm actually running this year — with honest notes on what's working and what isn't.
I do a version of this post mentally at the start of every year — what stayed, what got replaced, what I picked up and then quietly dropped. Writing it down makes the reasoning more honest than the version that exists in my head.
This is not a recommendations list. It’s a snapshot of what’s actually running on my machines right now, with notes on why.
The Stack
2026 Setup
Tools I'm Running
What's installed, what's active, and what I'd replace if I had a free weekend.
Neovim
Primary editor. lazy.nvim for plugins, nvim-lspconfig for language servers, telescope for fuzzy finding. Occasionally annoying, always fast.
Python 3.12
FastAPI for APIs, SQLAlchemy for ORM, Pydantic everywhere. Asyncio for anything IO-bound. The ecosystem is vast and that is a mixed blessing.
TypeScript
Astro for static sites, React when I need it, Node for scripts that got too complicated for bash. I prefer types everywhere.
PostgreSQL 16
Default database for everything. PostGIS extension for spatial work. I have not meaningfully reached for anything else in two years.
Docker + Compose
Local environments and deployment. Not Kubernetes — I do not manage infrastructure at a scale that justifies the operational complexity.
Cloudflare
Pages for static deployments, Tunnels for internal services, Workers for edge logic. Genuinely underpriced for what it does.
Linux (Ubuntu 24.04)
Primary workstation OS. Kitty terminal, Fish shell, tmux for session management. The terminal is home and I have no interest in leaving.
Go
CLI tools and performance-sensitive work. Growing. I reach for it when Python starts feeling slow and I mean it — not just "this could be faster."
Claude Code
AI-assisted development. Handles large refactors and cross-file reasoning better than anything else I have tried. The context window matters more than the model.
What Changed From Last Year
The biggest shift was going deeper on Cloudflare Tunnels for internal tooling. I have a handful of services running on a home server that I need access to from anywhere — previously that meant VPN, which worked but added friction. Tunnels are simpler and the zero-trust access controls are better than what I was doing manually.
The other shift was Go. I wrote a small CLI tool in it over the summer and it was pleasant enough that I’ve kept going. The compile times are fast, the standard library is good, and the binary you ship is a single file with no runtime dependencies. That last part is extremely useful when deploying to environments you don’t control.
What I’m Not Using
Redis — I have it in several project docker-compose files but I’ve been leaning on PostgreSQL’s LISTEN/NOTIFY for the async messaging use cases where I’d have reached for Redis before. It’s slower but it’s one fewer service to operate.
Kubernetes — I’ve used it at work and understand it. My personal and freelance infrastructure doesn’t have the scale or team size that justifies the operational overhead. docker compose up on a $12/month VPS covers most of what I need.
What’s Actually on the List
Better secrets management. I’m still doing too much .env file passing for things that should have proper vault infrastructure. It’s been on the list long enough that I should either fix it or admit I don’t care enough.
A proper backup strategy for the home server. I know. I know.