Most AI-built MVPs work great in a demo and fall apart on day one of real traffic.
I fix broken auth, slow queries, and webhooks that silently drop events.
NestJS · Postgres · AWS. If your MVP is scaring you post-launch, talk to me.
Our team:
PM writes tickets with Claude.
Dev codes with Claude.
QA tests with Claude.
I review with Claude.
Still a mess.
AI didn’t break our workflow. We handed it a broken one.
It doesn’t fix process problems. It runs them faster.
Anyone else?
@ajpri1998 Congrats on the traction! One tip before multi-ledger goes live: make the ledger ID part of every server-side query (never trust the client), then test with two accounts by swapping IDs. Catches most data leaks early. Happy to look over the design once it's sketched.
@avysotsky Congrats on the first $9! Before the next customers land, worth 10 minutes: make sure payments only unlock through a signature-verified webhook, and that no secret keys end up in the browser bundle. Easy to miss when the AI writes it all.
@feifei_qiu@supabase One quick win: dev doesn't need its own always-on project. Supabase branching or local dev (supabase start) covers most of it, and some small projects can share one instance with separate schemas. With kids' data, keep RLS tight either way. Happy to look if useful.
@iamazan8 Nice stack. Curious how you scope the MCP connectors: read-only DB role and restricted Stripe key, or full access? That's the part I'm most careful with when letting Claude Code near prod.
@itsvishnups Second one is clearer. Concrete outcome beats abstract promise. One thing I'd add for SaaS buyers: say the agent only acts within each user's own data/permissions. That's the first question I'd ask before embedding it.
@AngelaMacc76942 Congrats on shipping! For an AI app, one thing to double-check: keep the AI API key in a server/edge function, never in the browser, and add a simple per-user rate limit so nobody burns your credits.
@deepwhitman Felt this. What helped me: tag each project by "holds real user data or payments" vs not, then harden only that short list (RLS, key rotation, backups). The rest can stay messy. How many fall in the first bucket for you?
@pjdaddyofficial If I could pick only 3 tests: 1) logged-out user can't hit protected routes, 2) user A can't read user B's data, 3) Stripe webhook fired twice doesn't double-charge. Covers most of what bites in prod.
@hoag_edwar32780 Congrats on getting to review! Before real users land, worth a 10-min pass: no secret keys in the frontend bundle, RLS on every Supabase table, and a test that one account can't read another's data. Good luck with approval.
@growthperclick Great catch. Classic culprit in multi-tenant Postgres: tenant context set per session instead of per transaction, so a pooled connection leaks it. SET LOCAL inside the txn fixes a lot of that. Was it a pooling issue on your side?
@hustlin_heev@bubble Congrats on the move. Tip from doing a few of these: migrate users + Stripe subscriptions first, UI last, and test that one customer can't see another's data before cutover. Happy to swap notes if you hit snags.
@Aakash_goell Same wall I've hit. What worked for me: push long AI jobs to a queue + worker (pg-boss/Inngest style), keep Postgres as source of truth, write results back with the user's id so RLS still applies. Curious what you landed on for retries.