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.
- What an automated accessibility check found on the homepages of 108 stores we checked for outreachResults of one automated, read-only accessibility check of the homepages of 108 Shopify stores we checked for outreach (5-11 Nov 2026): the most common issues, how often, and what a store owner can do. Not a random sample.
- Who can fix accessibility issues in a Shopify theme's code after an ADA demand letter?Show the letter to a lawyer first. Then the kinds of help for theme code, one service's offer as plain facts, and questions to ask before you pay.
- Fix a broken Lovable appWhat usually breaks in a Lovable app once real people use it, what to check yourself in Lovable first, and how VibeFix checks the live app and fixes it in the code for $79.
- Fix a broken Bolt appWhat usually breaks in a Bolt app once real people use it, what to check yourself in Bolt first, and how VibeFix checks the live app and fixes it in the code for $79.
- Fix a broken Replit appWhat usually breaks in a Replit app once real people use it, what to check yourself in Replit first, and how VibeFix checks the live app and fixes it in the code for $79.
- Fix a broken v0 appWhat usually breaks in a v0 app once real people use it, what to check yourself in v0 first, and how VibeFix checks the live app and fixes it in the code for $79.
- Fix a broken Base44 appWhat usually breaks in a Base44 app once real people use it, what to check yourself in Base44 first, and how VibeFix checks the live app and fixes it in the code for $79.
- Fix a broken Cursor-built appWhat usually breaks in an app built with Cursor once real people use it, what to check yourself in Cursor first, and how VibeFix checks the live app and fixes it in the code for $79.
- Shopify accessibility fixes: widget, audit or code fix, with pricesThree ways to work on accessibility on a Shopify store compared: an app widget, a manual audit, and a fix in the theme code. What each changes, who does the work, published prices with sources, and what each can't do.
- Who can fix an AI-built app when the AI says it's fixed?Four checks you can do yourself, the kinds of help that exist, and one service's offer stated as facts: free check, $79 fix, re-check on your live app.
- Free Shopify accessibility checkers compared: WAVE, axe, LighthouseFour free website accessibility checkers compared for a Shopify store: what each one is, how to run it on a home, product and cart page, what it shows, and what it can't do.
- European Accessibility Act for US Shopify storesWhat the European Accessibility Act says about e-commerce, when it applies, how it links to WCAG, and what a US Shopify store can do now. Not legal advice.
- Got an ADA demand letter for your Shopify store?Got an ADA demand letter about your Shopify store? Not legal advice: see a lawyer first, keep every record, and ask before changing your live site.
- WCAG 2.2 checklist for a Shopify themeA plain WCAG 2.2 checklist for a Shopify theme: which criteria apply to your menu, product picker, cart drawer, forms and images.
- Shopify accessibility statement template: what to put in itWhat to put in a Shopify accessibility statement, from W3C guidance, and how to add the page. A statement fixes nothing and must be true.
- How to add alt text in Shopify (products, collections, theme)Step-by-step alt text in Shopify for product images, collection images and theme images, plus what good alt text says, from Shopify Help and W3C.
- Shopify accessibility audit: what it checks and what it can'tWhat a website accessibility audit of a Shopify store checks, which pages, what tools find and what needs a person, and where each fix goes.
- Supabase Edge Function returns 401: Invalid JWT or Missing authorization headerA Supabase Edge Function returns 401 Invalid JWT before your code runs; this page explains the causes and the official fix steps.
- Supabase sign-up works but no confirmation emailYour Supabase sign-up succeeds but the confirmation email never arrives. This page explains the causes and the official fix steps.
- 404 on Vercel right after deploymentYour deployed site returns 404 while it works locally. This page explains the causes and the official Vercel fix steps.
- Shopify store sued over website accessibility (ADA lawsuit): what to do this weekWebsite accessibility lawsuits against Shopify stores are rising. What the numbers say, what WCAG is, and what to do this week: lawyer first, then find and fix the problems in your theme. Not legal advice.
- Accessibility widget vs a real fix: what changes in your Shopify theme's codeAn accessibility widget changes the page in each visitor's browser; a fix in code changes your theme. What each one does, where each fix goes in Shopify, and what the DOJ and the FTC have said.
- Supabase legacy API keys are going away: will your app break?Supabase removes the legacy anon and service_role keys in late 2026. How to tell if your app uses them, how to switch to publishable and secret keys, and what can break.
- PHP 8.2 end of life (31 Dec 2026): what WordPress and WooCommerce owners should doPHP 8.2 security support ends on 31 December 2026. Which PHP version WordPress and WooCommerce recommend, and how to update safely and test your live site.
- Images return 400: INVALID_IMAGE_OPTIMIZE_REQUESTYour next/image images fail with a 400 error; this page explains the causes and the official fix steps from Vercel's docs.
- Supabase Realtime SUBSCRIBED but no events arriveYour Supabase Realtime channel connects but no postgres_changes events arrive. This page explains the causes and the official fix steps.
- Supabase session lost after login on a production buildYour Supabase session is lost after login on a production build. This page explains the causes and the official fix steps.
- Supabase Google sign-in redirects to localhost:3000Google sign-in on your live app lands on localhost:3000. Here are the causes and the official Supabase fix steps.
- Firebase auth/unauthorized-domain after deployingFirebase throws auth/unauthorized-domain when your app's domain is not authorized for OAuth; here are the causes and the official fix steps.
- Supabase RLS insert fails despite WITH CHECK (true)Your insert is blocked by row-level security. This page explains the causes and the official fix steps from Supabase's docs.
- Supabase Storage images not loading on your live appImages from Supabase Storage fail to load for your users; this page explains the causes and the official fix steps.
- Lovable login loop: causes and how to fix itLovable app sends you back to the login page after you sign in? The documented causes (redirect URLs, session timing, ended sessions) and the fix steps.
- Replit: your published app address does not load your appYour published Replit address does not load your app. This page explains the causes and the official fix steps.
- Supabase email link fails with 403 otp_expiredA customer's invite link returns 403 otp_expired; this page explains the causes and the official Supabase fix steps.
- Supabase magic-link emails not delivered to your usersMagic-link emails reach no one outside your project team; here are the causes and the official fix steps.
- Email link is invalid or has expired (otp_expired): the fixSupabase otp_expired or 403 on the email link: it was opened by a scanner, used twice or timed out. Causes and Supabase's official fix steps.
- Supabase project paused: "540 project paused" on a Free planYour Supabase project is paused or stuck coming up after a restore; this page explains the causes and the official fix steps.
- The stranger test: 10 things that break at sign-upFrom 56 real VibeFix checks of live apps (23 September to 31 October 2026): the 10 problems a brand-new customer hit most, a copyable checklist, and one prompt for Claude, Cursor or Lovable.
- Supabase reset password email not sending: the fixA 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 app not working after publish: causes and fixesLovable app not working after publish: read the Publishing failed banner and use its fix, then check Publish changes, audience, backend and domain.
- Why is my Base44 app not working? 8 causes and fixesBlank screen, changes not showing, login, domain or function errors: match what you see to one of 8 causes and the step Base44 documents for it.
- Vibe coded app checklist: what new users hitA 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.
- Supabase redirect URL goes to localhost: the fixSet 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.
- Email not confirmed (Supabase email_not_confirmed): the fixSign-in blocked by "Email not confirmed"? Find why the confirmation email failed, then resend it with resend(). Six causes with steps.
- Error sending confirmation email (Supabase 500): the fixSupabase 500 unexpected_failure: read the Auth logs first, then match the cause: default sender, SMTP, sender domain, Send Email hook or limit.
- Email rate limit exceeded (Supabase 429): which limitSupabase returns 429 over_email_send_rate_limit when an email limit is used up. See which of 6 limits fired, then set custom SMTP and raise it.
- Supabase project URL returns NXDOMAIN for my customersThe project hostname fails to resolve even though the dashboard looks healthy. This page lists possible causes, and your own account cannot show you this.
- We checked 44 launched apps: 84% had a problemAn 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 new customer would hit. The categories, the method, and why you cannot see it yourself.
- Clerk development keys warning on your live siteYour live app is still using Clerk development keys. This page explains the causes and the official steps to switch to production keys.
- Lovable changes not showing on the published siteYour live Lovable site is a snapshot from your last publish. Click Publish changes to update it, and check the domain status is Live.
- Replit: app works in preview but not when publishedYour Replit app runs in preview but not at its public URL. This page explains the causes and the official fix steps.
- Password reset email opens localhost or the wrong siteFix Supabase password reset links that open localhost or the wrong site: set the Site URL and Redirect URLs in URL Configuration, then update your email templates.
- Lovable sign in works in preview but not when publishedLovable sign in works in preview but not when published: add the published address to the Redirect URLs list and check the Site URL.
- 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 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.
- 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 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 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.
- Firebase Google sign-in: "domain is not authorized"Google sign-in on an app that uses Firebase Authentication fails. The possible causes, from the provider not being enabled to the domain list.
- 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.
- 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.
- Base44 custom domain not working: pending verificationBase44 custom domain not working? Fix DNS records, remove AAAA and CAA blocks, set Cloudflare to DNS only, then refresh the Domains page. Allow up to 48 hours.
- Lovable custom domain not working: DNS and statusLovable custom domain not working: check the status, fix the DNS records, publish, and allow up to 72 hours for DNS to spread.
- Database error saving new user (Supabase): causes and fixSign-up fails with this Supabase error? Read the Auth logs, then the Postgres logs, and match the line to a failing trigger or constraint.
- 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.
- Bolt form not saving: row-level security errorA 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.
- 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.
- RLS 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.
- Base44 Google sign-in "origin_mismatch": the fixGoogle 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.
- Case: sign-up emails still linked to localhostIn 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.
- Google sign-in "redirect_uri_mismatch": how to fix itA 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.
- Supabase "permission denied for table" (42501) fixSupabase "permission denied for table" (42501): a missing GRANT on a new table. Add the grant, turn on row level security and add policies, role by role.
- Build with Lovable in Claude CodeLovable's official Claude Code plugin builds, changes and publishes your app from the terminal. How to set it up, and how to check that new people can sign up on the live app.
- Sign-up loops back to the login page: the causesNew 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.
- origin_mismatch (Google sign-in): add your live addressGoogle origin_mismatch or redirect_uri_mismatch on your live site: add the exact address in Google Cloud. Also covers access_denied and org_internal.
- Confirmation link in 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.
- 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.
- 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.
- Users can see other users' data in Lovable: the fixUsers can see other users' data when row-level security is off or too loose. Turn it on for every table and add per-user policies. Steps and how to check.
- Customers can't pay: button does nothing, no orderCustomers say they cannot pay, or they paid and nothing happened. The three places payment breaks on a live app.
- 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.
- App tested, but customers still hit problems?Your builder tests its preview. Your customers use the live app. The differences between the two, and why they are invisible from inside the editor.
- Ways to fix a broken AI-built app in 2026Five ways to fix a broken AI-built app in 2026 (builder's AI, roll back, freelancer, agency, AI agent): what each costs and when each fits.
- Check your live app from Claude CodeAdd VibeFix to Claude Code with one command, no sign-in needed. Ask why new people can't sign up on your live app, get the likely cause and the fix, then check it for real.
- Use VibeFix inside LovableAdd VibeFix to Lovable once, then ask about a broken live app right in the chat. Our AI agent fixes it in your code, then tests your live app again. The first check is free.
- Blank page after publish: causes and how to fix itBlank page after publish (white screen after deploy): the app crashed on start. Read the first console error and fix the missing setting or path.
- Works in the preview but not after publishingYour app behaves one way in the Lovable preview and another on the published site; here are the causes and the official steps.
- Login broken after publishing: loops or 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" fix"New row violates row-level security policy": the database blocks a write that has no rule. The six causes and the INSERT policy fix, without turning RLS off.
- "Page not found" on refresh or 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? The fixThe default sender only reaches your team, 2 emails an hour. Set up custom SMTP.
- Stripe checkout not working on the live siteStripe 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 fixes it in your code and tests your live app again. See pricing.