Full-stack indie hacker building SQLitePilot in public and hoping these tools genuinely help other teams.
BuildInPublic
The "Indie Stack" Has a Tooling Problem
Why following the "Cloud Exit" led to a tooling nightmare, and how I fixed it.
Moving away from the cloud was the right choice
When DHH wrote Why we're leaving the cloud, it resonated deeply with me.
Like many independent developers, I was tired of the "AWS Tax"—paying for complexity and idle resources I didn't need. So, I moved my agency’s infrastructure to the "Indie Stack": cheap VPS servers (DigitalOcean, Hetzner, etc.) and self-hosted mini PCs using single-file SQLite databases.
It was the simple, rational, and right choice. But the moment we needed to patch a record in production, that simplicity evaporated.
Suddenly, I wasn't a product engineer anymore. I was SSH-ing into a Linux terminal, navigating directory structures, and staring at a blinking cursor inside the sqlite3 shell. It felt less like engineering and more like performing open-heart surgery in the dark.
I admit, there’s a certain thrill to using the terminal—it makes you feel like a 'real' engineer. But that feeling evaporates quickly when you're editing live records. The command line is perfect for code, but it is an unforgiving interface for human-driven data surgery.
One typo. One forgotten WHERE clause. One slip of the finger at 9 PM, and your "simple" stack becomes a complicated disaster.
Simplicity shouldn't mean primitive tooling
I built SQLitePilot because I wanted to keep the benefits of the "Cloud Exit" without sacrificing comfort.
We need the reliability of SSH tunneling combined with the clarity of a visual grid. We need to see the data before we change it. We need a tool that respects the constraints of a remote, single-file database while offering the safety net of a modern interface.
- No manual port forwarding.
- No raw SQL gambling.
- No exposing ports to the open internet.
SQLitePilot isn't about adding layers; it's about removing friction.
Keep your $5 VPS. Keep your majestic monolith. But do yourself a favor and stop trusting your fingers in the terminal when your production data is on the line.