DEV Community

egeindie
egeindie

Posted on

I Shipped 2 SaaS Products in One Weekend — Here's My Entire Stack and Strategy

Last weekend I challenged myself: ship 2 working SaaS products from scratch. Not MVPs sitting in a repo — actually deployed, functional products with auth, payments, and real features.

Here's how it went.

The Products

1. rilo.chat — Community Chat Widget

Think Chatango meets Discord, but modern. A real-time chat widget you embed on any website with a single <script> tag.

What it does:

  • Real-time WebSocket chat
  • AI-powered content moderation
  • Custom themes and branding
  • WordPress plugin for one-click install
  • Stripe billing (Free / Pro $19/mo / Business $49/mo)

Why I built it: Every community tool is either too complex (Discord requires users to leave your site) or too basic (most chat widgets are support-focused, not community-focused). There's a gap for lightweight, embeddable community chat.

2. WaitlistKit — Waitlist Management with Referrals

A tool for indie makers to collect signups before launch, with built-in referral tracking so your waitlist grows itself.

What it does:

  • Create multiple waitlists
  • Embeddable signup widget (single script tag)
  • Referral tracking with unique links
  • Subscriber management + CSV export
  • Public waitlist pages (/w/your-slug)
  • Email notifications via Resend

Why I built it: Every time I launch something, I need a waitlist. Existing tools are either $50+/mo or missing referral tracking. So I built my own.

The Stack (Same for Both)

Backend:  Go + Fiber
Frontend: React 18 + TypeScript + Vite + shadcn/ui
Database: PostgreSQL
Auth:     JWT
Payments: Stripe
Deploy:   Coolify (self-hosted)
Enter fullscreen mode Exit fullscreen mode

Why Go?

I know everyone's shipping with Next.js these days, but hear me out:

  • Single binary deployment — no node_modules, no runtime dependencies
  • Insanely fast — cold starts under 50ms
  • Concurrency built-in — goroutines for WebSocket connections
  • Small memory footprint — my chat server handles thousands of connections on 128MB RAM

For a solo developer shipping fast, Go is underrated. The standard library covers 80% of what you need.

Why shadcn/ui?

Because it's components you own, not a library you depend on. Copy-paste what you need, customize everything, no version lock-in. Combined with Tailwind, it's the fastest way to build good-looking UIs.

The Strategy: Product Factory

I'm not betting everything on one product. The plan:

  1. Ship 1-2 products per week (reuse the same stack)
  2. Launch everywhere — DEV, Product Hunt, HN, Reddit, Twitter
  3. Watch the numbers — which one gets traction?
  4. Double down on winners, kill losers

The goal: $10K MRR in 3 months across multiple small products.

Why this works better than building one thing for 6 months:

  • You learn what people actually want
  • You build distribution (audience) across launches
  • Each product cross-promotes the others
  • If one fails, you haven't lost everything

What I Learned

1. Reusable boilerplate is everything

Both products share the same Go backend structure:

cmd/server/main.go
internal/
  config/
  database/
  handlers/
  middleware/
  models/
  routes/
  services/
migrations/
Enter fullscreen mode Exit fullscreen mode

Once you have auth, CORS, database migrations, and error handling working, spinning up a new product takes hours, not days.

2. Ship ugly, iterate pretty

The first version of both UIs was basic. Functional, but basic. That's fine. Users don't care about pixel-perfect design — they care about whether it solves their problem.

3. Distribution > Product

Building in public on Twitter, posting on Reddit, writing on DEV — this matters more than the product itself in the early days. Nobody finds your SaaS by accident.

What's Next

  • Product Hunt launch (next week)
  • Stripe integration for WaitlistKit
  • More products from the factory
  • Documenting everything along the way

If you're interested in following the journey, I'm @egeindie on Twitter. Real numbers, real lessons, no fluff.


What's your approach to shipping fast? One product at a time or multiple bets? Would love to hear your strategies in the comments.

Top comments (0)