How to rescue a vibe-coded app: the order that works
Your AI-built app stalled: every fix breaks something else and you fear each deploy. The order a rescue follows, from owning the code to a safe handover.
Blog
What we learn on real projects, with the numbers up front.
Your AI-built app stalled: every fix breaks something else and you fear each deploy. The order a rescue follows, from owning the code to a safe handover.
You connected your domain to a Lovable app and it is stuck in Verifying, shows a certificate warning, still loads the old website or throws a Cloudflare error. The DNS records Lovable expects, the records that get in the way, and how to check each from the terminal.
Signup works for you and real users never get the confirmation or password reset email, or they see "email rate limit exceeded". Supabase's built-in email service only sends to your own team, two messages an hour. How to set up custom SMTP, raise the limit and make the emails land in the inbox.
Your Lovable, Bolt or hand-built app calls a Supabase edge function and the browser says it has been blocked by CORS policy. The missing OPTIONS handler, error responses without headers, a short header list, a function that is not deployed and a 401 before your code runs, and how to tell which one you have.
The app works in the Bolt preview and the deployed site is a white screen. The browser console names the cause in one line: missing VITE_ environment variables, the wrong publish folder, a wrong base path or a crash only production hits. How to read it and fix each.
The home page loads, but refreshing /dashboard or opening a shared link gives 404 NOT_FOUND. Why single-page apps exported from Lovable, Bolt or v0 do this on Vercel, Netlify, Cloudflare, cPanel and nginx, and the one rewrite each host needs.
Checkout worked with the test card, then broke after going live. Live price IDs, the customer portal, email matching, webhook secrets and a 401 from the edge function: the usual causes when a Lovable app takes real payments, and the fix for each.
Google sign-in, magic links or the confirmation email send users of your deployed Lovable, Bolt or v0 app to localhost:3000 or the preview URL. Site URL, the redirect allow list, redirectTo in the code and the email templates, and how to check each.
Error 42501 on insert, upload or signup in a Lovable, Bolt or v0 app. The six real causes, from a missing user_id to a profiles insert before the session exists, how to tell which one you have, and why letting the AI loosen the policy is the wrong fix.
Login fails on your real domain, blank screen after publishing, Stripe webhooks silent. The six concrete reasons a Lovable (or Bolt, v0) app breaks when deployed, and how to fix each.
Everyone with an AI-built app hears "this needs a rewrite" eventually. It is usually wrong. A decision framework for fixing vs rebuilding apps made with Lovable, Cursor, Claude Code or Codex.
AI-built apps ship fast and leak quietly. The concrete security checks for any Lovable, Bolt, Claude Code or Codex app before real users arrive: Supabase RLS, secrets, server-side auth, GDPR.
How to fix 'SessionHandler::write(): open() failed' by creating the alt-php session.save_path directories (alt-php56 through alt-php83) on cPanel with CloudLinux and CageFS.
The national Kit Digital closed applications on 31 October 2025. The full procedure as reference, and where the Extremadura grant stands today.
How to resolve the 'Reboot your system to update the kernel' warning in CloudLinux when GRUB boots a debug kernel without the kmodlve module.
How to migrate email accounts from Gmail or Google Workspace to an IMAP server with IMAPSync, including the full procedure and the command we use.
How to install Oh My ZSH on macOS, Windows and Linux, with the plugins, templates and settings that are worth using.
We use one analytics cookie to see which pages get read. No advertising, no profiling, and nothing is set without your permission. Read the cookie policy