12 WordPress Plugins → 1 Postgres: How Supabase Helped Me Reach 100 Paid Subscribers

WordPress data chaos couldn't scale. Supabase Auth, RLS, and Storage became the backbone that held 100 paid subscribers' private transcripts.

By Rasif Ali Khan

WordPress taught me: every feature was another plugin, another table in phpMyAdmin, another way billing desyncs from reality.

I'm Rasif Ali Khan, GFX Bracket, Pakistan. File Transcribe v1 used custom post types, ACF, membership plugins, MyCred minute credits. It made $87.57 on Paddle. Real users. Real money. A data model I could not trust with private audio — and definitely not with 100 paying customers.

Supabase — Auth, Postgres, RLS, Storage — is how I rebuilt the backbone and grew to 100 paid subscribers on v2.

The headline: 100 paid subscribers on Supabase

This series is titled around one outcome: how each app helped me reach 100 paid subscribers after WordPress.

Today File Transcribe has 100 paid subscribers. Their transcripts, media, usage, and plan tiers live in one Supabase project — same Postgres that powers my internal Marketing Center (`mkt_` tables), $0 extra database bill*.

You don't get to 100 paid users on transcription without trust. RLS is that trust, enforced in Postgres — not plugin settings I hope are correct.

Timeline: database pain → Supabase → 100 subs

PhaseReality
v1 earlyWP users + post meta + ACF — works until you query
v1 growthAppSumo prep, more plugins, phpMyAdmin surgery
Security wake-upOld `D:\File-transcribe` archive — hardcoded keys, treat as burned
GFX dashboardFirst Postgres + RLS — I learned proper modeling
v2 rebuildSupabase Auth (Google), Storage, migrations in GitHub
BillingPaddle webhooks → `profiles.plan` — server truth
ScaleFolders, library, jobs, usage events
Today100 paid subscribers — sensitive data in RLS-protected tables

WordPress vs Supabase (full comparison)

CapabilityWordPress v1Supabase v2
AccountsWP users + plugin metaSupabase Auth + `profiles`
TranscriptsCPT + ACF fields`transcripts` + `transcript_segments`
MediaWP media + S3 experimentsStorage + signed URLs
IsolationCustom PHP hopeRow Level Security
Schema evolutionAdmin clicks / raw SQLMigrations in git
Marketing ops DBWould be another pluginSame project, `mkt_` prefix
Webhook idempotencyDidn't exist`webhook_events` pattern
100 paid subs confidenceWouldn't attemptShipped

RLS — why transcription needs it at scale

At subscriber #1, a data leak is catastrophic. At #100, it's a company-ending event.

Transcripts include:

  • Therapy and medical calls
  • Legal recordings
  • Unreleased podcast episodes
  • Journalist sources

WordPress isolation = custom code nobody audited. Supabase RLS = Postgres refuses cross-tenant reads even if I ship a bad client query.

That's not enterprise luxury. That's why people pay monthly instead of using a sketchy free tool.

What moved off WordPress (field by field)

v1 ACF nightmare:

  • File name, file URL, transcript body, timestamps, summary, translation, captions, job ID — scattered across fields and post types

v2 normalized model:

  • Upload → Storage path linked to transcript
  • `transcription_jobs` state machine (queued → processing → done/failed)
  • Segments for editor, SRT, VTT export
  • `usage_events` — billing limits from server, not DevTools
  • Paddle customer/subscription IDs on `profiles`

Adding subscriber #100 doesn't add a new plugin. It adds rows — the way SaaS should work.

How Supabase unlocked growth to 100 paid subscribers

Growth needSupabase role
Google sign-in frictionlessAuth — one click from try → account
Saved libraryPostgres + RLS — my files, my folders
Plan enforcement`profiles.plan` + server quota checks
Media retentionStorage policies per tier
Admin visibilityService role for jobs/failures — users still isolated
Marketing CenterSame DB — scrape leads without second Supabase bill

The human story (AppSumo, David, $87.57)

  • AppSumo rejected — I couldn't buy growth; I had to build retention
  • Product Hunt v1 — traffic on fragile data layer
  • David (YouTube) — reviewed v1; v2 is what I want him to see
  • $87.57 — first proof; 100 paid subscribers — proof the rebuild worked

Supabase let me compete on product quality instead of plugin archaeology.

Results

WordPressSupabase v2
Time to ship "users see only their data"Weeks PHPOne migration
Confidence at 100 paid usersZeroHigh
Auth provider changePlugin hellConfig + migration
Ops DB for marketingN/ASame project

For Supabase DevRel / marketing

  • WordPress escape · RLS · Storage · Auth
  • 100 paid subscribers — outcome metric
  • Solo founder · Pakistan · Paddle
  • Republish this post — written for your customer gallery

[Try File Transcribe](https://filetranscribe.com) · Vercel story · Hub

Rasif Ali Khan

Ready to transcribe your file?

Upload free — no account required.

Try File Transcribe free