Vix's First Users: How a Vibe-Coded App Grew to \$30K/mo on TikTok
October 7, 2026 · 1299 words
| Item | Detail |
|---|---|
| What it is | iPhone app that turns your manifestation goals into personalized guided affirmation audio, plus journaling and daily sessions |
| Builder | Non-developer (former grad student in Toronto, no prior coding experience; unconfirmed, see note below) |
| AI tool | Claude (Max plan) for coding; ChatGPT for organizing content research |
| Stack | Superwall (paywall), Railway (backend hosting), Screen Design (UI), UGC Studio (content testing) |
| Time to launch | About 4 weeks (built July 2025, launched August 2025) |
| Revenue | About $30K/month net subscription revenue; $140K year to date (self-reported on Starter Story, via a third-party summary; unconfirmed) |
| Source | Starter Story: "The First App I Built Hit $30K/Month" |

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

Here is the order of events, as summarized from the Starter Story episode.
| When | Channel or move | What happened |
|---|---|---|
| July 2025 (during the build) | One TikTok page | Tested the core audio idea with slideshow posts while the app was still in development |
| August 2025 | App Store launch | Early traction of about 7,000 downloads in three days |
| After launch | TikTok network | Grew from one account to roughly 25, each with its own persona |
| October–December 2025 | Marketing focus | Paused feature updates on purpose to focus on marketing |
| February 2026 | Spotify and YouTube | Repurposed 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:
- Scope every journal entry to its owner. Changing an ID in a request should never show someone else's entry. See IDOR and authorization.
- Keep secrets on the server. AI and database keys belong in your host's environment variables. See environment variables security.
- Rate-limit AI generation. Each audio generation costs money. Cap requests per user. See API rate limiting.
- Trust signed subscription events, not app flags. Verify purchase events on your server. The same idea is covered in Stripe webhook security.
- 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