Case study · Consumer SaaS
Social Snitch
Turning an AI-built prototype into a production subscription app
Social Snitch began as a prototype built with Replit's AI agent. I rebuilt it on Next.js and Supabase as a live subscription app with Stripe billing.
- Client
- Social Snitch
- Role
- Lead developer
- Timeline
- Jul 2026 – present
- Engagement
- Takeover
- Live site
- socialsnitch.ai ↗

The brief
Social Snitch tracks the public activity of Instagram accounts, such as new follows and liked posts, and sends subscribers a weekly report. It began as a prototype built on Replit with Replit's AI agent. My job was to turn it into a production app: real accounts, paid plans, data that syncs on a schedule, and code the client's team could keep working in.
What I built
- A new Next.js app on Supabase, with sign-in by email code, Google or Apple, and row-level security so each customer can only read their own data.
- Weekly subscriptions through Stripe's hosted checkout, with promotion codes and a pricing page.
- A background worker on its own server for the daily syncs and for jobs the admins start. It deploys automatically from GitHub, reports its health and emails the admins when a job needs attention.
- An admin page that totals the app's API costs for the day, the week and the month.
How it's built
The web app runs on Vercel and reads Postgres through Supabase, where row-level security decides what each signed-in user can see. Anything slow or scheduled runs on the worker, so long jobs don't hold up the web app. Stripe is the source of truth for billing: its webhooks update an account when a subscription starts, renews, fails to charge or is cancelled. OpenAI models power the AI analysis features.
Where it stands
Social Snitch is live, and I'm still its lead developer. The client's team ships its own changes to the same codebase alongside mine.
Services used