Guides
Why an app built with an AI builder breaks for new customers, and the likely causes. You are signed in, your customers are not, so you cannot see it yourself.
- The stranger test: 10 things that break the first time a real customer signs upFrom 54 real VibeFix checks of live apps (23 September to 21 October 2026): the 10 problems a brand-new customer hit most, a copyable checklist, and one prompt for Claude, Cursor or Lovable.
- Supabase redirect URL localhost: keep it for testing, send real users to your live appSet Supabase's Site URL and Redirect URLs so localhost works while you test and every email and sign-in link opens your live app. Steps for the dashboard, the code and the email templates, from the Supabase and Lovable docs.
- Supabase login not working on my published Lovable app (works in preview)Sign-in works in the Lovable preview but fails on the published app or custom domain. The causes (redirect URLs, Site URL, your own Supabase project, Google) and the official fix steps.
- Base44 reset password link invalid or expiredA customer clicks the Base44 password reset link and sees "invalid or expired", a blank page or an error. The documented causes and Base44's own fix steps.
- Replit deployment not working: the published app breaks (works in preview)A Replit app works in the workspace but the published address shows a blank page, an error, or broken logins and data. The documented causes and Replit's fix steps.
- Supabase "Error sending confirmation email" (500): causes and how to fix itSign-up fails with "Error sending confirmation email", usually as a 500 (unexpected_failure). Read the Auth logs, then fix the cause: default sender, SMTP settings, sender domain, hook or service. Steps from the Supabase docs.
- AuthApiError: Email not confirmed in Supabase: why new users can't sign in, and how to fix itA new user signs in and gets "AuthApiError: Email not confirmed". What the error means, the six causes, the fix steps for each from the Supabase and Lovable docs, and a 3-question FAQ.
- "email rate limit exceeded" in Supabase and Lovable: which limit you hit and how to fix itSign-up or password reset fails with "email rate limit exceeded" (over_email_send_rate_limit, 429). The five limits behind it, the documented defaults, and the fix for each from the Supabase and Lovable docs.
- Supabase reset password email not sending: why a customer clicks "Forgot password" and gets nothingA customer asks for a Supabase password reset and no email comes, with no error. The causes (no account, default sender, limits, redirect, used-up links) and the official fix steps.
- Lovable publish not working: what is failing, and what a visitor sees when it "published"Lovable will not publish, or says it is live but visitors see nothing, an old version or broken logins. Lovable's failure categories and its own fix steps for each.
- Why is my Base44 app not working? The documented causes, from a blank page to a 403A Base44 app is blank, will not load, does not show changes, or a function fails. The causes Base44 documents and Base44's own fix steps for each.
- Vibe coded app checklist: what a stranger hits on your live appA checklist of the first things a brand-new visitor runs into on a vibe-coded app, how to check and fix each from the official docs, and what VibeFix checks and does not.
- We checked 44 launched apps whose owners asked: 84% had a problem a first customer would hitAn AI agent checked 44 live apps whose link a visitor pasted into VibeFix's free check, 27 September to 19 October 2026. 37 (84%) had a problem a first customer would hit. The categories, the method, and why you cannot see it yourself.
- My app is stuck on a loading spinner after I publish itThe preview works, but the live app keeps loading forever. The usual causes, and why you may never see the spinner yourself.
- Base44 custom domain stuck on "Pending verification" or not loadingYour Base44 custom domain will not verify, or loads with an SSL error. The possible causes, from DNS records to the www version.
- Google sign-in "origin_mismatch" on Base44 (and other apps): what it means and how to fix itGoogle sign-in fails with "origin_mismatch". What Google checks, the five causes, and the fix steps for Base44 custom Google OAuth and Supabase apps, from the Google and Base44 docs.
- Bolt form not saving: "new row violates row-level security policy"A Bolt contact or sign-up form saves nothing and the error says "new row violates row-level security policy". The causes and the fix steps from Bolt's and Supabase's docs.
- A button on my app does nothing after I published itIt worked in the preview, but on the live site a button does nothing. The four usual causes, and why you may not see it yourself.
- Case: sign-up emails still linked to localhost although the settings looked rightIn our own test app, real confirmation emails kept linking to localhost:3000 after the Site URL setting showed the live address. Seen once, on one app of ours.
- The confirmation link in my sign-up email opens localhostNew users tap the confirmation link and land on localhost or the preview instead of your app. The possible causes, and why you never see it.
- Customers can't pay on my app: the pay button does nothing, or the order never shows upCustomers say they cannot pay, or they paid and nothing happened. The three places payment breaks on a live app.
- Firebase Google sign-in not working: "This domain is not authorized to run this operation"Google sign-in on an app that uses Firebase Authentication fails. The possible causes, from the provider not being enabled to the domain list.
- Firestore "Missing or insufficient permissions"Your app gets "Missing or insufficient permissions" from Firestore. The possible causes in the security rules, and why you do not see it as the owner.
- "Sign in with Google" fails for new people on my live appGoogle sign-in works for you but new people get redirect_uri_mismatch, origin_mismatch or access_denied. The standard fix for each error, how to tell it is fixed, and the main catch.
- Google sign-in "redirect_uri_mismatch": how to fix it on Supabase, Lovable and Base44 appsA person taps Sign in with Google and gets "redirect_uri_mismatch". What Google checks, the six causes (including a new custom domain), and the exact places to fix each, from the Google, Supabase, Lovable and Base44 docs.
- Lovable custom domain not working: "Action required", "Verifying" or "Unable to verify"A custom domain on your Lovable app shows a status instead of your site. What each status points to, and why your own device can mislead you.
- Row-level security error saving a profile right after sign-upSaving a profile right after sign-up fails with "new row violates row-level security policy" on Lovable or Supabase. The possible causes.
- Edits or upserts blocked by row-level securityAn update or upsert fails with a row-level security error on Supabase, or silently changes nothing. The possible causes.
- Is a secret key or admin page visible on my live app?Some keys are fine in the browser and some must never be. What can leak from an AI-built app, and why you cannot see it as the owner.
- New users sign up, then land back on the login page or see an errorNew people sign up but end up back on the sign-up or login page, or see an error. The four usual causes in apps built with AI tools.
- Supabase "Database error saving new user": the causes and how to fix eachSign-up fails with "Database error saving new user" (often a 500). How to find the real error in the Auth and Postgres logs, and the fix for each documented cause: a failing trigger, a missing table, a constraint, Prisma, and the related NULL-column error.
- Supabase "permission denied for table" (42501)Your app gets error 42501 "permission denied for table" from Supabase. The possible causes, and how it differs from the row-level security error.
- My builder says the app is tested, but my customers hit problemsYour builder tests its preview. Your customers use the live app. The differences between the two, and why they are invisible from inside the editor.
- Users can see other users' data in my Lovable appOne user can see another user's records: the database is answering everyone. The standard fix (row-level security and per-user policies), the steps, how to tell it is fixed, and the main catch.
- v0: environment variables missing on the published appYour v0 app works in preview but misses environment variables on the live Vercel production site. The possible causes.
- v0 with Supabase: sign-in sends people to the wrong URLOn a v0 app with Supabase, sign-in or confirmation links send people to localhost or a preview address. The possible causes.
- My vibe-coded app is broken and I don't know who can helpYour AI-built app has a problem and you cannot say exactly what fails. Why that makes every route slower, and what hides the real problem.
- Add VibeFix to Base44 in 1 minuteIn Base44, open Account preferences, Builder, MCP Connections, press Add custom MCP and paste https://vibe-fixer.com/mcp. Needs the Builder plan or higher.
- Add VibeFix to ChatGPT in 1 minuteIn ChatGPT, open chatgpt.com/plugins, press +, choose Add custom MCP server and paste https://vibe-fixer.com/mcp. Your plan and workspace settings decide whether it is allowed.
- Add VibeFix to Windsurf in 1 minuteIn Windsurf (now Devin Desktop), open the Cascade panel's ... menu, Open MCP config file, and add VibeFix with serverUrl https://vibe-fixer.com/mcp.
- Add VibeFix to VS Code in 1 minuteIn VS Code, run MCP: Add Server from the Command Palette, choose HTTP and paste https://vibe-fixer.com/mcp. Then ask in Copilot Chat's agent mode.
- Add VibeFix to Cursor in 1 minutePress Add to Cursor on vibe-fixer.com/tools and confirm in Cursor, or add https://vibe-fixer.com/mcp as a url under mcpServers in ~/.cursor/mcp.json.
- Add VibeFix to Replit in 1 minutePress Add to Replit on vibe-fixer.com/tools: Replit's integrations page opens with VibeFix filled in. Then ask Replit Agent about your live app.
- Add VibeFix to Claude in 1 minuteIn Claude, go to Customize, Connectors, press + Add, then Add custom connector, and paste https://vibe-fixer.com/mcp. Works on every plan; Free allows one custom connector.
- Why your first customer leaves: what we found testing 37 newly launched AI-built appsWe tested 37 newly launched AI-built apps the way a first customer would. 28 had a problem that would stop one. The most common dead ends, and how to check your app for each.
- My app shows a blank white page after publishingThe preview works, but the published site is a white screen. The standard fix (read the first console error, then the missing setting or wrong base path), how to tell it is fixed, and the main catch.
- It works in the preview but breaks after I deployYour Bolt, Lovable or v0 app works in the preview but breaks on Netlify, Vercel or your own domain. The four differences that cause it.
- Sign-up or login broken after publishing: users bounce back to login or land on localhostLogin worked in the preview. On the live site users bounce back to the login page, land on localhost or see an error. The possible causes.
- "new row violates row-level security policy" in Supabase: why data won't save, and how to fix itA save fails with "new row violates row-level security policy for table". The six causes, the policy each one needs, and the steps from the Supabase and PostgreSQL docs, without switching security off.
- "Page not found" when I refresh a page or open a shared linkYour app's home page works, but refreshing any other page or opening a shared link shows 404 Page Not Found. Why hosts do this.
- Supabase confirmation email not sending: new users never get it (Lovable, Bolt, Base44)New users never get the Supabase confirmation email. The causes (default sender, hourly limits, spam, Lovable and Base44 senders) and the official fix steps for each.
- Stripe checkout not working on my live site (works in test mode)Stripe checkout works with test cards but fails for real customers, or they pay and nothing unlocks. The causes (keys, live webhooks, signing secrets, live products, activation) and Stripe's fix steps.
- My AI-built app doesn't show up on GoogleYour app is live but searching for its name finds nothing. The possible reasons, and why you cannot see how a stranger finds it.
- The AI says it fixed it, but my app is still brokenYour builder's AI says "Fixed!" and the live app is still broken. Why, the standard way out (real error, live check, restore a working version), how to tell it is fixed, and the main catch.
Want it fixed?
Our AI agent finds the cause, fixes it in your code and re-checks your live app. $79 for one bug, paid up front. If we can't complete your re-check, you get your money back.