What shipped fast
Cursor was great for moving through normal product work: routes, components, auth cleanup, and shipping the app shell around a paid flow.
The goal was a paid membership app with gated content, basic onboarding, and a billing flow tied to Stripe and Supabase.
What shipped fast
Cursor was great for moving through normal product work: routes, components, auth cleanup, and shipping the app shell around a paid flow.
What broke
Stripe and Supabase state drift became the real project. Payment succeeded events, webhook timing, and stale access checks created a class of bugs that looked small but eroded trust immediately.
What they would do differently
I would model billing state explicitly and test downgrade, retry, and cancellation paths much earlier. The happy path was easy. The real subscription product was in the unhappy paths.
Related failure modes
Context window collapse: why AI starts breaking working code
Why long prompt chains drift, how it shows up, and what to change before the AI starts rewriting stable code.
Read the failure mode ->
Why builders get stuck at auth and databases
The real reasons auth, RLS, schema design, and database assumptions stall AI-built products.
Read the failure mode ->
Why Stripe, subscriptions, and webhooks break so many AI-built apps
The core failure modes around checkout, webhook drift, stale access state, and subscription logic.
Read the failure mode ->
Learn the workflow
A Newsletter
The hard part is not the signup form. It is deciding what the newsletter is actually about, what angle it owns, and what makes it worth opening next week too.
Read the workflow ->
A Blog
The hard part is not the page shell. It is creating content that is sharper than the average AI sludge and structuring it so search and humans can both trust it.
Read the workflow ->
A Saas App
The hard part is not generating pages. It is deciding the smallest useful product, wiring auth and billing sanely, and not letting the stack complexity outrun the problem you are solving.
Read the workflow ->
More real builds
A service business needed a client-facing portal with onboarding, document upload, project status, and a paid premium support tier they could demo to pilot customers fast.
What shipped fast
Lovable handled the first-pass screens, onboarding, and dashboard structure shockingly fast. The team had something demo...
What broke
The moment payments, file access, and Supabase policies mattered, the generated backend stopped being something I wanted to trust ...
Verdict: Great for proving the product shape quickly. Not a serious excuse to skip backend ownership.
Read the full build report ->
A small SaaS team needed to clean up an already-shipping React dashboard, add billing metrics, and remove weeks of fragile UI duplication without blowing up the working product.
What shipped fast
Cursor was strongest when the work was concrete: repeated component cleanup, untangling state, and finding the right fil...
What broke
The biggest risk was context drift. Once the prompt history got too broad, Cursor started suggesting confident rewrites to code th...
Verdict: Excellent for multi-file refactors when you already know what "better" should look like.
Read the full build report ->
A founder needed a convincing dashboard shell for sales conversations, onboarding mockups, and a developer handoff without spending weeks on frontend design.
What shipped fast
v0 was excellent for generating interface directions fast enough that the team could compare options instead of debating...
What broke
The dangerous part was pretending the UI shell meant the product was closer than it really was. Data flows, auth, loading states, ...
Verdict: Very strong when the real blocker is interface direction, not product logic.
Read the full build report ->