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 [App] 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 on YouTube. Architecture broke. Rebuilt on Next.js + Vercel + Supabase. 100 paid subscribers. July 2026 PH v2 — celebrate publicly.
WordPress theme vs Next.js app
| WordPress v1 | Next.js v2 | |
|---|---|---|
| First screen | Theme fighting shortcodes | `/` = upload tool |
| Guest try | Shortcode hacks | `/try/[token]` signed server-side |
| Editor | PHP + old JS | React segments + player |
| API | `admin-ajax.php` | Route Handlers |
| Mobile | Theme patches | Sidebar overlay + playback |
| Blog + product | Separate pain | `content/blog/` same repo |
| Paid conversion path | Unclear | Homepage → library → Pro |
| 100 paid subs | Unreachable | Achieved |
Upload-first flow (why Next.js matters)
Anonymous users today:
1. Land on `/` — large upload, not login wall 2. Language + transcribe 3. Honest progress UI 4. Editable transcript + media 5. TXT / SRT / VTT download 6. 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
| Metric | v1 | v2 |
|---|---|---|
| Routes for core MVP | Theme + plugins | ~8 intentional routes |
| Guest → paid path | Broken | First-class |
| Blog for DevRel outreach | Painful | 6 stack posts live |
| Paid subscribers | ~early Paddle | 100 |
Routes that matter (concrete map)
| Route | Who uses it | Subscriber role |
|---|---|---|
| `/` | Everyone | Try free → trust |
| `/try/[token]` | Guest share links | Viral loop |
| `/login` | Converters | Google OAuth |
| `/dashboard/library` | Paid + free accounts | Retention |
| `/dashboard/upload` | Power users | Usage → upgrade |
| `/transcript/[id]` | Daily workflow | Editor + exports |
| `/pricing` | Upgrade intent | Paddle checkout |
| `/blog/*` | SEO + DevRel | Inbound to try |
| `/compare/*` | Search traffic | 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
[File Transcribe](https://filetranscribe.com) · Hub
— Rasif Ali Khan