Adding AI to a product takes an afternoon. An API key, a prompt, a fetch call. Done.
Building the system that runs that AI feature in production is a different problem entirely. How do you isolate data between tenants so Org A never sees Org B's rows? How do you bill for usage and actually block access when the quota runs out? How do you build a dashboard that shows real numbers instead of placeholder charts?
I built TubeDigest , a YouTube video summarizer. Teams paste a video URL, get a summary. The summarization is one OpenAI call. The multi-tenant org structure, subscription billing, usage enforcement, caching layer -- that's where the actual work went.
This post is about all of that.
What's actually running
On the surface: paste a YouTube URL, get a summary. Behind that:
Postgres Row Level Security handles tenant data isolation. Org A can't query Org B's rows even if the application code has a bug.…