Roger Mendoza

The starter stack: launching a product without overbuilding

The tools and sequence I use to take an idea from zero to something real customers can touch — and the things I deliberately postpone.

I've started a lot of things: a consulting business, e-commerce systems, a SaaS platform, a hardware product. The pattern I keep seeing in early-stage projects — mine included — is overbuilding. Too much infrastructure, too early, for customers who don't exist yet.

This is the starter stack I use now, and the order I add things in.

Stage 0: prove someone cares

Before any code:

  • Write the problem in one sentence, from the customer's side.
  • Talk to five people who have that problem.
  • Put up a single page that explains the solution and has one call to action.

If nobody clicks, you just saved months.

Stage 1: the smallest real thing

Pick tools that let one person build quickly and change their mind cheaply:

  • Front end: a static site or a simple template. No framework unless you need interactivity.
  • Back end (if needed): one FastAPI service.
  • Database: SQLite for a prototype, PostgreSQL once there are real users.
  • Hosting: a platform that deploys from git with one click, like Railway.
  • Payments: a hosted checkout. Never build payments yourself.
  • Email: a transactional email service plus one automation tool.

For hardware, the equivalent is a dev board, a breadboard and a 3D-printed shell — not a custom PCB.

Stage 2: instrument everything

Before adding features, add visibility:

  • Basic, privacy-respecting analytics.
  • Error logging that alerts you.
  • A simple dashboard of the three numbers that matter (signups, activation, revenue — or whatever your three are).

You can't improve what you can't see.

Stage 3: automate what hurts

Only now do I add automation — and only for tasks I've done by hand enough times to understand. Onboarding emails, data syncs, reports. Automating a process you don't understand just makes mistakes faster.

Stage 4: harden what's working

Customers paying? Usage growing? Now it's worth:

  • Tests around the core logic.
  • Backups you've actually restored.
  • A staging environment.
  • For hardware: a custom PCB, an enclosure built for assembly and a real bring-up process.

Things I deliberately postpone

  • Microservices. One service until it actually hurts.
  • Kubernetes. You probably don't need it, and you definitely don't need it yet.
  • Custom design systems. Use a clean, simple style and revisit later.
  • Perfect scalability. Scaling problems are what success looks like. Solve them when you have them.
  • Custom hardware before the experience is proven on dev boards.

Why this works

Each stage answers a question before you pay for the next one. Does anyone care? Can I deliver it? Is it working? Is it worth hardening? Skipping ahead means paying for answers you don't have yet.

The mindset

A starter stack isn't about specific tools. It's about choosing boring, reversible decisions early so you can spend your energy on the only thing that matters at the start: finding out whether you're building something people want.

Some links in these notes are affiliate links. If you buy through one, I may earn a commission at no extra cost to you. I only link to tools I use or would recommend.