
TL;DR — Have you ever started an ambitious side-project only to abandon it two weeks later due to burnout, endless framework debates, or designing microservices for zero users? This article condenses practical insights from a Founder @ VNDO on shifting from a “coding for fun” mindset to a “product founder” mindset—building a lean tech stack (Astro, SolidJS, FastAPI, Docker), deploying to Production on a $0 budget, and managing time as a full-time software engineer.
1. The Over-Engineering Trap & Scope Creep
Most software engineers suffer from two classic syndromes when tackling side projects:
- Tech Stack Creep: Introducing heavy infrastructure (Kubernetes, Kafka, Distributed Caching) far beyond the project’s scale just to experiment.
- Scope Creep: Demanding full Authentication, Dark Mode, Payment Gateways, Analytics, and Notification Systems before releasing version 1.0.
What Changes with a Founder Mindset?
When adopting a founder mindset, your top priority shifts from “How elegant is the code?” to “How fast can we get a working solution into users’ hands (Time to Market)?”
Developer Mindset : Problem ──▶ Over-Engineering ──▶ Abandoned (After 3 weeks)
Founder Mindset : Problem ──▶ Core Feature (MVP) ──▶ Production Release (3 days)
A working application with 10 lines of unpolished code deployed in production delivers infinitely more value than an unreleased, over-engineered microservices cluster.

2. Choosing a Lean Tech Stack
To optimize development speed and keep operating costs near $0, an ideal stack needs three characteristics: Zero Cold Start, High Developer Experience (DX), and Strong Automation.
🎨 Frontend: Astro + SolidJS / React
- Why not heavy Next.js? For content-heavy landing pages, portfolios, or lightweight SaaS apps, Astro offers Zero-JS by default, excellent SEO, and sub-second page loads.
- SolidJS / UI Components: When client-side reactivity is required, SolidJS delivers near-vanilla performance while maintaining a familiar React-like DX.
⚡ Backend & Database: FastAPI / Node.js + PostgreSQL
- FastAPI (Python): Ideal if your project involves data processing, AI Agents, or RAG. It enables fast development and automatically generates OpenAPI docs.
- PostgreSQL (Free Tier): Leverage Supabase or Neon DB for managed PostgreSQL without upfront server costs.
🐳 Infrastructure & Deployment
- Frontend: Vercel / Cloudflare Pages (Free tier, global Edge CDN).
- Backend API: Cloudflare Workers (Serverless) or a low-cost VPS ($3 - $5/month on Hetzner/DigitalOcean) running Docker Compose with Nginx/Traefik reverse proxy.

3. Pragmatic System Architecture
Avoid jumping straight into microservices or Kubernetes for early-stage side projects. Stick to a simple, clean architecture:
┌─────────────────────────────────────────────────────────────┐
│ Cloudflare Edge Network │
└──────────────┬──────────────────────────────┬───────────────┘
│ │
(Static / SSR) (API Requests)
│ │
▼ ▼
┌────────────────────┐ ┌────────────────────┐
│ Cloudflare Pages │ │ Docker Compose │
│ (Astro + SolidJS) │ │ (FastAPI + Redis) │
└────────────────────┘ └──────────┬─────────┘
│
▼
┌────────────────────┐
│ PostgreSQL Database│
│ (Supabase / Local) │
└────────────────────┘
Golden Principles:
- Monolith First: Keep APIs inside a single FastAPI/Express application. Only split into independent microservices when scale demands it.
- Stateless Backend: Design stateless API servers so deployments and restarts cause zero data loss.
- Environment Isolation: Maintain strict
.envconfigurations for Local and Production environments.

4. Time Management & AI Assistance for Full-Time Engineers
How do you keep momentum when working 8 hours a day at your day job?
⏱️ The 45-Minute Daily Rule
Break tasks into micro-deliverables achievable in 30–45 minutes:
- Day 1: Design DB Schema for the core resource.
- Day 2: Build the
POST /api/v1/resourcesendpoint. - Day 3: Build the basic client-side UI form.
🤖 3x Speedup with AI Assistants
- AI Pair Programming: Utilize specialized AI coding assistants for boilerplate generation, test creation, and API documentation.
- Automated CI/CD: Configure GitHub Actions to run linting and deploy to Production on every push to
main.

5. Conclusion: Ship Early, Fail Fast, Learn Faster
A successful side project isn’t measured by lines of code or algorithmic complexity; it’s measured by the value and learning it delivers.
Push your code to main and deploy v0.1 today—even if it’s imperfect!
Part of the System Architecture & Engineering Management series at vietdoo.vndo.vn.
Comments (0)