Launch Fast Makes \$30K/mo: Vibe-Coded with Cursor (Case Study)

September 29, 2026 · 1179 words

FieldDetail
What it isProduct research platform for Amazon sellers: validation, competitors, keywords, suppliers, rank tracking; web app plus Chrome extension
BuilderNon-developer ("Never wrote a line of code" before this)
AI toolCursor for the MVP; now Codex and Claude Code depending on the task
StackStarted: Next.js, TypeScript, Vercel, Supabase, Resend, Apify. Now: Cloudflare and custom crawlers
Time to launch48 hours to a working MVP
Revenue$30K MRR (June 2026); $10K at day 30. Self-reported
SourceIndie Hackers interview, Starter Story

Launch Fast Amazon tool revenue illustration: a shipping box and a product research dashboard on a laptop next to a rising chart reaching $30K MRR

Hasaam Bhatti had never written code. He built the first version of Launch Fast in 48 hours with Cursor, an AI code editor. It reached $10,000 in monthly recurring revenue by day 30 (MRR: subscription money that renews each month). By June 2026 it was at $30,000 MRR, per his Indie Hackers interview. The numbers are self-reported.

The one point of this case study: he solved distribution before he wrote the first prompt.

The problem: 20 to 30 hours of research per product

Hasaam ran two Amazon brands while holding a corporate job. Every new product idea meant 20 to 30 hours of research, copying numbers into Google Sheets.

Launch Fast automates that work for private-label sellers (people who sell their own branded products on Amazon). It checks demand, competitors, keywords and suppliers, then tracks rankings. It runs as a web app and a Chrome extension. Higher plans add MCP access, a way for AI assistants like Claude to call the tool directly.

Before this, he tried 10 to 12 other products, including AI video tools and job automation apps. None reached production. His explanation: he was "building for audiences I didn't belong to". This time he built for a market he knew.

How it was built

He found Cursor on Twitter. Then he gave himself a hard deadline: 48 hours.

The rough breakdown from the interview:

  • Map his own research workflow and step-by-step routines
  • Build the core features in Cursor
  • Test and iterate
  • Polish the UI
  • Chase edge cases
  • Record a demo video and pitch

The first stack was a common vibe-coding stack:

  • Next.js + TypeScript (the web framework)
  • Vercel (hosting)
  • Supabase (database, login and file storage)
  • Resend (email)
  • Apify (ready-made web scrapers for Amazon data)

He says the whole thing "cost almost nothing to run until it started making money". Once revenue proved the idea, he moved infrastructure to Cloudflare. He also replaced Apify with his own crawlers and data layer. Today he uses Codex and Claude Code depending on the task.

How it makes money

Launch Fast is subscription-only, with no free tier. The pricing page currently shows three plans, billed annually:

  • Starter: $41 per month (100 research credits)
  • Growth: $74 per month (250 research credits, MCP access, Amazon Ads reports)
  • Scale: $166 per month (500 research credits, priority support, team capacity)

A trial includes 3 free product research reports. A card is required, and $0 is charged on day one.

Prices have moved. The Indie Hackers interview lists $49, $89 and $199 per month. Starter Story reported $50 a month for members of the partner program and $199 for the public. Treat pricing as a lever he keeps testing.

The revenue curve, as he reported it (days 30 to 90 to Starter Story in January 2026, the June figure to Indie Hackers):

  • Day 30: $10K MRR
  • Day 60: about $17K to $18K MRR
  • Day 90: $21.8K MRR
  • June 2026: $30K MRR

First users: a 48-hour pitch

How Launch Fast found its first users: a 48-hour build, a pitch to an Amazon seller coaching program, equity for access to its students, then paid subscriptions

This is the part to study. Hasaam didn't launch to strangers. He went to Legacy X, a coaching program for Amazon sellers with thousands of active students. His pitch: "Give me 48 hours to build the solution. If you like it, we partner."

They said yes the next morning and told him to quit his job. He gave equity in exchange for access to their students. The exact terms aren't public. The partner's name is even in the product's domain.

After that first wave, growth came from:

  • Weekly live sessions teaching sellers how to use the software
  • Technical blog posts for Google search traffic
  • Free tools that pull people toward the paid product
  • Meta ads for paid acquisition
  • Referrals inside seller communities

What to copy

  • Build in a market you already live in. His failures came from unfamiliar markets.
  • Borrow distribution. A coaching program, newsletter or community owner can be your launch channel.
  • Use a hard deadline. 48 hours forced him to ship something real.
  • Start on rented tools, migrate later. Supabase and Apify were fine until revenue justified custom crawlers.
  • Charge from day one. No free tier meant every user was a real signal.

If you vibe-code this

A B2B research SaaS stores customer data, meters credits and often fetches external pages. Checks for this type of app:

  1. Turn on Row Level Security so each customer only sees their own rows. See Supabase RLS.
  2. Check ownership on every API route. An ID in the URL is not proof of access. See IDOR in API routes.
  3. Deduct credits on the server and rate-limit expensive calls. See API rate limiting.
  4. Validate any URL your server fetches. See SSRF from unvalidated fetch.
  5. Lock down AI-agent endpoints like MCP. See MCP security tools.

An ownership check in a Next.js route with Supabase:

// app/api/reports/[id]/route.ts
import { createClient } from "@/lib/supabase/server";

export async function GET(_req: Request, { params }: { params: Promise<{ id: string }> }) {
  const { id } = await params;
  const supabase = await createClient();
  const { data: { user } } = await supabase.auth.getUser();
  if (!user) return new Response("Unauthorized", { status: 401 });

  const { data: report } = await supabase
    .from("reports")
    .select("*")
    .eq("id", id)
    .eq("user_id", user.id) // must belong to this user
    .single();

  if (!report) return new Response("Not found", { status: 404 });
  return Response.json(report);
}

Built a paid SaaS in a weekend like this? Email [email protected] for a security audit before you scale.

Key takeaway

A founder who had never coded reached $30K MRR with three things: Cursor, a market he knew, and a partner who already had customers. The 48-hour build mattered. The partnership mattered more.

More case studies: Vibe-coded apps making money · Security guide: Vibe coding security

Sources