I rejected the Next.js SaaS Starter template for the wrong reason at first, then accepted the right lesson: I didn't need a dashboard template. I needed an app framework.
File Transcribe has 100 paid subscribers. The path there started with a product bet WordPress couldn't express:
The homepage is the product. No signup required to try.
That's Next.js App Router, marketing, guest upload, authenticated library, API routes, transcript editor, blog series, Paddle webhooks, one typed codebase, one deploy on Vercel.
The headline: 100 paid subscribers
This post is part of: How Next.js helped me reach 100 paid subscribers after rebuilding from WordPress.
100 paid subscribers, on Pro and Plus tiers, use a Next.js app daily. They don't know or care about App Router. They care that:
- Upload works on the homepage
- Transcripts save to a library
- Playback syncs with text
- Upgrade is one clear path
WordPress v1 made $87.57. Next.js v2 made a product shape people pay for repeatedly.
My full story (short)
Pakistan founder. GFX Bracket. WordPress v1, plugins, Paddle, $87.57, AppSumo no, Product Hunt v1, David Mbugua, 3 YouTube videos on v1. Architecture broke. Rebuilt on Next.js + Vercel + Supabase. 100 paid subscribers. July 2026 PH v2, celebrate publicly.
WordPress theme vs Next.js app
First screen
- WordPress v1
- Theme fighting shortcodes
- Next.js v2
- `/` = upload tool
Guest try
- WordPress v1
- Shortcode hacks
- Next.js v2
- `/try/[token]` signed server-side
Editor
- WordPress v1
- PHP + old JS
- Next.js v2
- React segments + player
API
- WordPress v1
- `admin-ajax.php`
- Next.js v2
- Route Handlers
Mobile
- WordPress v1
- Theme patches
- Next.js v2
- Sidebar overlay + playback
Blog + product
- WordPress v1
- Separate pain
- Next.js v2
- `content/blog/` same repo
Paid conversion path
- WordPress v1
- Unclear
- Next.js v2
- Homepage → library → Pro
100 paid subs
- WordPress v1
- Unreachable
- Next.js v2
- Achieved
Upload-first flow (why Next.js matters)
Anonymous users today:
- Land on `/`, large upload, not login wall
- Language + transcribe
- Honest progress UI
- Editable transcript + media
- TXT / SRT / VTT download
- Signup when they want history + limits
WordPress is CMS-first. Next.js let me be tool-first, the philosophy from Story 2 that converted free try → 100 paid accounts.
Server Components + client islands
| Layer | Next.js choice |
|---|---|
| Marketing, blog, pricing | SSR/SSG, SEO for "transcribe mp3" etc. |
| Homepage upload | Client interactivity |
| Transcript editor | Heavy client, segments, seek, edit |
| APIs | Server-only, keys never in browser |
One framework. WordPress split this across theme + 6 plugins + snippets I couldn't grep.
Features Next.js shipped that retain subscribers
| Feature | Paid impact |
|---|---|
| Library + folders | Reason to keep account |
| Search across transcripts | Pro workflow |
| Ask AI presets | Pro upgrade in-editor |
| Compare pages (Otter, TurboScribe…) | SEO → signup |
| Guest → account migration | Smooth upgrade |
| `/dashboard` only when useful | No SaaS bloat on first visit |
Design north star
Studied Good Tape (calm), TurboScribe (practical), Transcript LOL (features not noise). Next.js + Tailwind = premium calm without theme CSS wars.
Metrics: WordPress → Next.js → 100 subs
Routes for core MVP
- v1
- Theme + plugins
- v2
- ~8 intentional routes
Guest → paid path
- v1
- Broken
- v2
- First-class
Blog for DevRel outreach
- v1
- Painful
- v2
- 6 stack posts live
Paid subscribers
- v1
- ~early Paddle
- v2
- 100
Routes that matter (concrete map)
`/`
- Who uses it
- Everyone
- Subscriber role
- Try free → trust
`/try/[token]`
- Who uses it
- Guest share links
- Subscriber role
- Viral loop
`/login`
- Who uses it
- Converters
- Subscriber role
- Google OAuth
`/dashboard/library`
- Who uses it
- Paid + free accounts
- Subscriber role
- Retention
`/dashboard/upload`
- Who uses it
- Power users
- Subscriber role
- Usage → upgrade
`/transcript/[id]`
- Who uses it
- Daily workflow
- Subscriber role
- Editor + exports
`/pricing`
- Who uses it
- Upgrade intent
- Subscriber role
- Paddle checkout
`/blog/*`
- Who uses it
- SEO + DevRel
- Subscriber role
- Inbound to try
`/compare/*`
- Who uses it
- Search traffic
- Subscriber role
- Otter/TurboScribe switchers
WordPress tried to be all of this through page templates and shortcodes. Next.js made each route intentional, which is how you get from $87.57 to 100 paid subscribers without confusing the product.
From $87.57 to 100, Next.js conversion story
| Step | What Next.js enabled |
|---|---|
| Stranger lands | Homepage upload, no signup wall |
| First transcript | Quality output in editor |
| Wants history | Google sign-in, one click |
| Hits free limit | Clear upgrade in `/pricing` |
| Stays month 2 | Library, folders, mobile playback |
| Subscriber #100 | Product shape worth renewing |
For Next.js showcase / Vercel
- Anonymous-first transcription SaaS, rare in category
- 100 paid subscribers, real traction
- WordPress migration story
- App Router + serverless
- PH v2 July 2026
Rasif Ali Khan
