DEV Community

TestMyLaunch
TestMyLaunch

Posted on

10 Bugs Every Lovable App Has Before Launch

The Lovable preview looks great. Then a first-time visitor opens the published URL on their phone, and something else happens. The AI agent that built the app never sees that URL unless you put it in front of it.

Here are ten problems that show up again and again in AI-built apps right before launch, and how to catch each one yourself in a real browser.

1. It works in the preview and breaks on the published URL

The preview runs in a different environment from your live domain: different origin, different config, sometimes different data. How to check: open the published URL (not the editor) in a private window and click through every main flow once.

2. 404 when you refresh an internal route

Single-page apps handle routes like /dashboard in the browser. If the host has no fallback to index.html, a refresh or a direct visit returns a 404. How to check: go to any internal page, hit refresh, then paste that URL into a new private window.

3. Missing environment variables in production

Supabase keys, API URLs and redirect URLs set in one environment and not the other. The page loads, but every data call fails quietly. How to check: open DevTools → Network on the live site and look for failed requests (4xx/5xx) or requests going to undefined.

4. Buttons that do nothing

The handler never got wired up, or it only fires on hover/click events that don't exist on touch screens. How to check: tap every primary button on a real phone, not just a resized desktop window.

5. Overflow and unreadable text on a real phone

The preview at 390 px is not the same as Safari on an actual device with a notch, a keyboard and dynamic toolbars. Horizontal scroll, cut-off text and buttons hidden under the fold are common. How to check: open the site on your own phone and scroll sideways on every page. If it moves, something overflows.

6. Red errors in the console that kill a whole flow

One uncaught error can stop everything after it: a form, a chart, a checkout step. How to check: keep DevTools → Console open while you click through. Any red line on the live site is worth reading.

7. Login loops or callbacks pointing to localhost

OAuth and magic-link redirects often still point to localhost or the preview domain. Users sign in and land somewhere broken, or go round in circles. How to check: sign up with a fresh email on the published URL and follow the full flow, including the email link.

8. A form that says "success" and saves nothing

The UI shows a happy toast, but the insert failed (row-level security, wrong table, missing key). How to check: submit the form on the live site, then look in your database or inbox to confirm the data actually arrived.

9. Images, fonts or files that 404

Assets that only existed in the preview, or paths that break on the real domain. How to check: Network tab, filter by "Img" and "Font", reload, and look for anything red.

10. A shared deep link that lands on a blank page

Someone shares /product/123 on X or in Slack. The new visitor arrives with no session and no state, and gets a white screen. How to check: copy a deep link, open it logged out in a private window, and on mobile.

A 15-minute routine before you launch

The day before launch, on the published URL:

  1. Private window, desktop: click every main flow with the Console and Network tabs open.
  2. Your own phone: tap every button, scroll every page sideways, try the sign-up flow.
  3. Refresh and paste a few internal URLs directly.
  4. Submit each form and confirm the data really landed.

If you want a second pair of eyes, we built a free scan that does a version of this for you: a real browser opens your app on mobile and desktop, follows links, clicks safe buttons and watches the console, then gives you a score out of 100 and the titles of what it found. No card needed.

👉 https://testmylaunch.com?ref=devto

What's the bug that bit you on launch day? Share it in the comments.

— The TestMyLaunch Team

Top comments (0)