ToneAdapt Makes ~\$25K/mo: Vibe-Coded with Cursor (Case Study)
October 7, 2026 · 1229 words
| Question | Answer |
|---|---|
| What it is | A web and iOS app that matches famous guitar tones to your own guitar, amp and pedals |
| Builder | Developer (21-year-old computer science student) |
| AI tool | Cursor |
| Stack | Supabase, OpenAI API, Tavily search API. Web: Vercel, Mailgun, Stripe. iOS: native Swift, RevenueCat, Superwall |
| Time to launch | About one week for V1 |
| Revenue | ~$25K/mo combined web + mobile; mobile alone ~$14K/mo (self-reported, June 2026) |
| Source | Starter Story episode summary, June 14, 2026 |

ToneAdapt is a guitar app that reports about $25K a month in combined web and mobile revenue. The iOS app alone was doing about $14K a month, with 397+ active subscribers, within a month of its launch. Those are self-reported numbers from a Starter Story episode summary, a third-party write-up of the episode. We have not confirmed them against the original video.
The builder is a 21-year-old computer science student at San Diego State. According to that summary, every line of code was vibe coded with Cursor, and he wrote no code himself. V1 took about a week, over Thanksgiving break.
The problem: your favorite tone, on your gear
Guitarists hear a sound on a record and want it. The problem is gear. The artist used a different guitar, amp and pedals. Copying their settings onto your setup rarely sounds the same.
ToneAdapt tackles that gap. You pick a song and enter your own gear. The app shows what the artist used, then gives adapted settings for your amp, guitar and pedals. The App Store listing says it pulls tone data from forums, reviews and manufacturer specs. It covers a database of 9,000+ gear items.
This is a hobby problem the founder had himself. The episode title calls it turning a hobby into an app.
How it was built

He built V1 in about a week. Cursor did the writing. Cursor is a code editor with an AI assistant built in. You describe a change, and it edits your files.
The stack, as listed in the summary:
- Supabase for the database and user accounts. Supabase is a hosted Postgres database with login built in.
- OpenAI API for the AI answers.
- Tavily, a search API, so the AI can look up tone info on the web.
- Web app: Vercel for hosting, Mailgun for email, Stripe for payments.
- iOS app: native Swift, with RevenueCat for subscriptions and Superwall for paywall screens.
One detail stands out. The web app and the iOS app bill through different systems, Stripe and RevenueCat. But they share one Supabase backend. That setup is common, and it is harder than it looks. We'll come back to it below.
How it makes money
ToneAdapt is a subscription. The summary gives the price as about $10 a week or about $60 a year.
The App Store listing shows more detail. The app is free to download with in-app purchases:
- Weekly: $5.99, $6.99 or $9.99
- Monthly: $14.99
- Yearly: $29.99 up to $74.99
Several prices for the same plan usually means paywall testing. That is what Superwall is built for: showing different prices to different users and measuring which one earns more. I can't confirm which price wins. The listing just shows that several exist.
The app has a 4.8 rating from about 2,600 ratings. For a niche music app, that is a lot of reviews.
Revenue, per the summary, reached about $25K a month across web and mobile. The timeframe given is within five months of launch.
First users: talk to people with the problem
To validate the idea, he went where guitarists already talk. He found guitarists in Reddit threads and Instagram comment sections who had the same tone-matching problem. Then he talked to them.
After launch, the growth plan was content. He posted about three times a day across Instagram, TikTok, YouTube and Facebook. He kept posting until some formats clearly worked. Then he made more variations of the winners.
What to copy
- Solve your own hobby problem. He knew the pain and the vocabulary. That makes content and validation easier.
- Validate in comment sections. People describe their problems in public. Go read them before you build.
- Sell on web and iOS. The summary describes both. The iOS app alone reached ~$14K a month.
- Test your prices. Several weekly and yearly price points on one listing is a sign of active testing.
- Post daily until something works. Then do more of what works.
If you vibe-code this
This app type has two billing systems feeding one database, plus paid AI calls that cost you money per use. Here is what I would check in any app like it. This is about the app type, not about ToneAdapt.
- One source of truth for "is this user paid?" Only your server should write it, and only after a verified webhook from Stripe or RevenueCat. See Stripe webhook security.
- Users must not be able to edit their own plan. With Supabase, turn on row level security (RLS, rules that decide who can read or write each row). See Supabase RLS.
- Rate-limit the AI endpoint per user. Every OpenAI and Tavily call costs you money. See API rate limiting.
- Keep API keys on the server. Never ship OpenAI or Tavily keys in the app. See environment variables.
Here is the core of item 1 for the web side, a Stripe webhook in Next.js:
// app/api/stripe/webhook/route.ts
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
export async function POST(req: Request) {
const body = await req.text(); // raw body, not req.json()
const sig = req.headers.get("stripe-signature");
if (!sig) return new Response("Missing signature", { status: 400 });
let event: Stripe.Event;
try {
event = stripe.webhooks.constructEvent(body, sig, process.env.STRIPE_WEBHOOK_SECRET!);
} catch {
return new Response("Invalid signature", { status: 400 });
}
// Only now update the user's plan, server-side
return new Response("ok");
}
On the iOS side, RevenueCat lets you set an authorization header for its webhooks. Check that header the same way before you trust the event.
Running web and mobile billing on one backend? I review vibe-coded apps before launch. Email [email protected].
Key takeaway
ToneAdapt shows what a narrow, personal problem can do. A student who knew the hobby built V1 in a week with Cursor. He validated the idea in comment sections and grew it by posting every day. The reported result is about $25K a month.
More case studies: Vibe-coded apps making money. Before you launch: Vibe coding security guide.