Pro · Build in public

The build log behind the numbers

The public revenue dashboard shows where things stand today. This is how they got there — every month, every price change, every churned account, and the stack that keeps margins above 90%.

Timeline

Month by month

  1. Jun 2025

    $4,020 MRR

    SoloLaunch crossed 340 customers after a Product Hunt feature. Best month yet.

    +$610
  2. May 2025

    $3,410 MRR

    Shipped MicroDoc private beta to 20 SoloLaunch customers; no revenue yet but strong signal.

    +$180
  3. Apr 2025

    $3,230 MRR

    Churned two annual DevToolkit accounts. Painful, but it forced a long-overdue onboarding rewrite.

    −$90
  4. Mar 2025

    $3,320 MRR

    Raised DevToolkit Pro pricing 20%. Expected backlash never came — nobody cancelled.

    +$240
  5. Feb 2025

    $3,080 MRR

    A single SEO post ("self-hosted JWT decoder") started ranking and now drives ~30% of signups.

    +$150
  6. Jan 2025

    $2,930 MRR

    New-year SaaS budgets unlocked. Annual plans I added in December finally paid off.

    +$410

Unit economics

Per-product profit & loss

Blended margin across all products is 92%. Bootstrapping only works when the costs stay this boring.

Monthly revenue, costs, margin, and primary acquisition channel for each product
Product MRR Costs Margin Primary channel
DevToolkit Pro $2,840 $190 93% Organic SEO + word of mouth
SoloLaunch $1,180 $95 92% Product Hunt + Twitter/X
MicroDoc $0 $40 Closed beta (no pricing yet)

The stack

What every product runs on

Framework

Astro + React islands

Static-first, fast, and cheap to host. JS only where it earns its weight.

Backend

Supabase

Postgres, auth, and storage without running a server. Generous free tier.

Payments

Stripe + Stripe Billing

Subscriptions, proration, and dunning handled. Never building this myself.

Email

Resend + Buttondown

Resend for transactional, Buttondown for the newsletter. Both founder-friendly.

Analytics

Plausible

Privacy-first, no cookie banner, lightweight script. Owns its own narrative.

Hosting

Cloudflare Pages + Workers

Edge static + serverless functions. The free tier outlasts most side projects.

Hard-won

Five lessons that moved the numbers

  1. Charge more, sooner. Every price increase I delayed cost me months of compounding revenue.

  2. One SEO article that ranks beats ten that don't. Write fewer, deeper, more specific posts.

  3. Churn is feedback, not failure. The two accounts I lost in April rewrote my onboarding for the better.

  4. Ship the boring boilerplate once (SoloLaunch) and reuse it forever. Your second product should take days, not months.

  5. Build in public before you have numbers worth showing. The audience compounds slower than the revenue.