The internet will happily sell you a massive, cutting-edge tech stack. What it won't sell you is a solution for a random Tuesday night when your laptop dies, your deployment breaks, and you're the only person on call.
I've learned the hard way to treat stack choice less like a trophy and more like a maintenance contract. If I can't redeploy everything from scratch in a single afternoon, I don't really own the project - the complexity does.
When you're running a project solo, the lens changes completely. It's no longer about what looks impressive on a resume; it's about what is still easy to fix when life gets busy.
What "Ease" Actually Looks Like
Ease doesn't mean "no code." It just means low ceremony.
For Maker Gully, that means keeping things simple on purpose:
- One primary language for the backend and the quick scripts around it.
- One deployment path I understand from end to end.
- One secure place for environment variables.
- One logs page I can actually parse when a friend texts that something looks broken. Shout out to all friends who are helping me right now.
If I need an architecture diagram with twelve boxes before I even have my first user, I've already paid a mental tax I can't afford as a solo builder.
A Practical Decision Ladder
I always start with the absolute smallest thing that could work, and only climb the ladder if I have to.
Is it static enough? If the job is mostly content, landing pages, or marketing, I keep it static. Simple HTML, a basic site generator, and a CDN. If I need a form or a newsletter signup, I drop in a managed service instead of spinning up an entire database on day one.
Do I need actual backend logic? I'll add a server, but I keep it lean. One service, one database, and one auth provider. I don't split things into microservices because of some tech blog post about "scale" I don't have yet.
Do I need scheduled tasks? A basic cron job or a simple hosted scheduler does the trick. I don't need a heavy queue cluster or an event-driven architecture just to fire off a weekly email.
Will I need a mobile app later? I leave that for future me to figure out. I don't let a "maybe-native" app down the road force me into a heavyweight web stack today.
The ladder is boring on purpose. Boring scales down to a single person.
Red Flags & Green Flags
Over time, I've developed a few personal rules for choosing tools.
Red Flags I respect:
- If the "Hello World" tutorial is ten lines but the production guide is a literal book.
- If local development and production require completely different architectures instead of just different environment variables.
- If the default setup assumes you have a dedicated DevOps team.
Green Flags I optimize for:
- A simple git push or a single CLI command puts the code live.
- I can run the exact same build locally that runs in production.
- A rollback means deploying the last working artifact, not a prayer and a panicked forum search.
- The entire stack fits on the back of a napkin.
The Tradeoff
A simple stack might not get you upvoted to the top of Hacker News, and that's entirely fine.
What it buys you is focus. I would much rather spend a Saturday working on the actual product or talking to users than tuning cloud infrastructure I don't need yet. The goal isn't to look sophisticated. The goal is to still be in business next year.
Pick the smallest stack that survives contact with real users. You can always outgrow boring, but it's incredibly hard to claw your way out of accidental complexity.
Optimize for the version of you who is tired, distracted, and fixing a deployment on a weeknight. That person deserves some mercy. Give them fewer moving parts.
That's the reality of being a team of one.