VibeFix › Guides

Lovable app broken after publishing? A step-by-step fix checklist

It works in the Lovable preview, then the published app shows a blank screen, loops back to the login page, or loads with no data. The cause is usually configuration outside your components, which is why re-prompting "fix it" often goes in circles. Work through these checks in order. Most take a few minutes each.

Updated October 17, 2026 · About 7 minutes to read

1. Find the real error first

Open your published URL in a private/incognito window (so old sessions and cached files don't hide the problem). Open DevTools (F12 or right-click → Inspect):

Paste that exact error (not "it's broken") into Lovable's Chat or Plan mode and ask it to explain the cause before changing code.

2. Changes don't show up on the live site

Publishing in Lovable deploys a snapshot. Edits you make afterwards are not live until you publish again (Publish → Update). If publishing is blocked, the current version has a build error: fix that in the editor first, then republish and hard-refresh the live page.

3. Blank white screen

A blank page almost always means a JavaScript error during startup. Common causes:

4. 404 when you refresh a page (self-hosted)

If the homepage works but refreshing /dashboard or opening a shared deep link gives a 404 on your own host, the server is looking for a file that doesn't exist. Single-page apps need every route rewritten to index.html:

5. Login loop or redirect to localhost

This is the most common "works in preview, broken live" bug. Auth providers only redirect back to URLs on an allowlist, and the default Site URL is often still the preview or localhost.

6. Data is empty or saves silently fail

With Supabase row-level security (RLS) enabled and no matching policy, reads return zero rows with no error, and writes are rejected. In preview you may not notice if you tested in a way that bypassed it.

7. Edge Functions, AI calls or payments fail

8. Check for exposed keys before you share the link

On the live site, open DevTools → Sources (or view the JS bundle) and search for sk_, service_role and secret. The Supabase publishable/anon key is designed to be public only when RLS is set up correctly; a service_role key or any sk_ secret in the browser must be moved server-side and rotated immediately, since anyone could already have copied it.

9. Stop the prompt loop

If three prompts in a row haven't fixed it, more of the same usually makes it worse. Revert to the last working version in Version history, switch to Plan mode, and give Lovable the exact error from step 1 plus what you expected to happen. Ask for a diagnosis before any code changes.

Still stuck? We'll fix it at a flat price.

VibeFix fixes broken Lovable, Bolt, Cursor, Replit and v0 apps. Request a free check first, and we'll tell you what's wrong and which plan fits before you pay. If we can't fix it, you get a full refund.

Get a free check See pricing

Already know you need help? Quick Fix, $49 (one bug, 24h) · Standard Rescue, $129 · Deploy-Ready, from $199