Vix's First Users: How a Vibe-Coded App Grew to \$30K/mo on TikTok

October 7, 2026 · 1299 words

ItemDetail
What it isiPhone app that turns your manifestation goals into personalized guided affirmation audio, plus journaling and daily sessions
BuilderNon-developer (former grad student in Toronto, no prior coding experience; unconfirmed, see note below)
AI toolClaude (Max plan) for coding; ChatGPT for organizing content research
StackSuperwall (paywall), Railway (backend hosting), Screen Design (UI), UGC Studio (content testing)
Time to launchAbout 4 weeks (built July 2025, launched August 2025)
RevenueAbout $30K/month net subscription revenue; $140K year to date (self-reported on Starter Story, via a third-party summary; unconfirmed)
SourceStarter Story: "The First App I Built Hit $30K/Month"

Vix manifestation app illustration: a phone playing a personalized affirmation audio waveform, surrounded by many faceless persona video accounts feeding a rising monthly revenue line

A note on sources: every story detail below (revenue, timeline, TikTok accounts, stack and the founder's background) comes from a third-party summary of the Starter Story episode. We could not watch the original video to check it, so treat these numbers and dates as unconfirmed.

Vix is a manifestation app. You describe a goal, answer a few questions, and get a custom guided affirmation audio in seconds. Its founder, Reza, had never coded before. He built it in about four weeks with Claude as his main coding assistant.

On Starter Story, he reported about $30K a month in net subscription revenue. Net usually means after app store fees. He also reported $140K earned so far this year.

The build was fast. The growth took a system. This post walks through how Vix found its users, channel by channel.

The one point to take away: he tested the idea with content before the app was finished, then scaled what worked.

The timeline, channel by channel

How the Vix manifestation app got its first users: test on one TikTok page, launch, grow to about 25 persona accounts, pause features to market, then repurpose audio to Spotify and YouTube

Here is the order of events, as summarized from the Starter Story episode.

WhenChannel or moveWhat happened
July 2025 (during the build)One TikTok pageTested the core audio idea with slideshow posts while the app was still in development
August 2025App Store launchEarly traction of about 7,000 downloads in three days
After launchTikTok networkGrew from one account to roughly 25, each with its own persona
October–December 2025Marketing focusPaused feature updates on purpose to focus on marketing
February 2026Spotify and YouTubeRepurposed TikTok audio; now about 20% of monthly revenue

Step 1: validate with content, not code. Before the app shipped, Reza ran a TikTok page to test the core concept. The idea was AI-generated, personalized audio in an engaging format. If people engaged with the posts, the app idea had a pulse.

Step 2: launch into warm attention. When the app went live in August 2025, it got about 7,000 downloads in three days. The summary doesn't explain exactly what drove that spike. The pre-launch TikTok testing is the likely context, but that's not confirmed.

Step 3: turn one account into a network. This is the core of the story. He went from a single slideshow account to about 25 accounts. Each account has a persona, a consistent character with its own voice. When a hook or persona worked, he cloned it across 10 or more accounts.

Step 4: stop building, start selling. From October to December 2025, he deliberately paused new features. The time went into marketing instead. For a first-time founder, that's a hard call.

Step 5: repurpose into new channels. In February 2026, he launched Spotify and YouTube channels using audio from TikTok. Those two now bring in about 20% of monthly revenue.

What worked

A repeatable content process. The episode lays out his routine. He researches about 20 TikTok videos that resonate. He writes original hooks for each concept. A hook is the first line that makes someone stop scrolling. Then he adapts the format across accounts.

AI to organize, not to write. He used ChatGPT to organize and analyze his research, not to generate the posts from scratch. Claude handled coding and content pipelines.

Personas over one brand account. Different personas reach different audiences. Cloning winners across many accounts multiplies reach without new ideas every day.

A strong paywall setup. He used Superwall, a tool for building and A/B testing paywalls. A paywall is the screen that asks users to subscribe. He reported a 16% conversion rate, though the summary doesn't say what it's measured from.

Yearly pricing. He described the price as $40 a year or $20 a month, and said most users pick yearly. The current App Store listing shows several plans, including weekly, monthly, quarterly and yearly options.

What flopped (and what we don't know)

The summary of the episode doesn't list failed channels or abandoned experiments. So we can't say what flopped.

What we can see is one course correction. He stopped shipping features for three months to focus on distribution. That suggests building alone wasn't enough, and marketing needed full attention.

There's also no ad-spend or cost figure. The $30K is net subscription revenue, not profit. Keep that in mind when you compare it with your own numbers.

Copyable steps

  • Test the concept on TikTok while you build. Post the core idea as slideshows. Watch which angles people save and share.
  • Launch when you have attention. Don't ship into silence.
  • Find 20 winning videos in your niche. Write your own hook for each one.
  • Give each account a persona. Clone the persona that works across more accounts.
  • Schedule a "no new features" period. Put the saved time into distribution.
  • Repurpose to audio platforms. Spotify and YouTube can reuse content you already made.

If you vibe-code this

This app type is a consumer subscription app that stores personal, journal-style input and calls AI to generate content. Here are the checks I'd run on any app like it:

  1. Scope every journal entry to its owner. Changing an ID in a request should never show someone else's entry. See IDOR and authorization.
  2. Keep secrets on the server. AI and database keys belong in your host's environment variables. See environment variables security.
  3. Rate-limit AI generation. Each audio generation costs money. Cap requests per user. See API rate limiting.
  4. Trust signed subscription events, not app flags. Verify purchase events on your server. The same idea is covered in Stripe webhook security.
  5. Expect prompt injection. User goals go straight into AI prompts. See prompt injection.

Here is the owner check, placed inside the database query:

// GET /api/journal/[id]: only the owner can read an entry
const entry = await prisma.journalEntry.findFirst({
  where: { id: params.id, userId: session.user.id }, // owner check inside the query
});

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

Building a subscription app that stores personal writing? Email [email protected] for a vibe-code security audit.

Key takeaway

Vix's code took four weeks. Its users came from a content system: test on TikTok early, clone winning personas, pause features to market, then repurpose into new channels. If you vibe-code your first app, plan your distribution as carefully as your build.

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

Sources