Fix my Lovable app

Your Lovable app almost certainly doesn’t need rebuilding. Lovable builds clean screens and relies on a service called Supabase for logins, data and behind-the-scenes logic — and that is where most real problems live: who is allowed to see which data, where users are sent after logging in, secret keys, and the joins between the screens and the database. Those are findable and fixable one at a time.

Where Lovable projects usually break

Lovable’s output is consistent, so its failures are consistent too. These are the ones that come up again and again.

  1. 01

    Who can see whose data

    Either every user can see every other user’s records, or nobody can see anything and the page shows an empty list. Both come from the database’s access rules (Supabase calls them row-level security policies) never being written for how the app is actually used.

  2. 02

    Works in preview, fails after publish

    The login redirect, a database key or a secret used by behind-the-scenes code was set up for the preview address and never for the published one.

  3. 03

    Fixing one thing breaks another

    Large components carrying state for several features, so each prompt-driven edit changes more than it was asked to.

  4. 04

    Behind-the-scenes code that fails silently

    Logic Lovable moved into Supabase ‘edge functions’ that is missing a setting or never reports its errors — so the screen just waits.

  5. 05

    Payments and email that only work in the demo

    Stripe and email flows wired to test keys or stubbed responses, never exercised with a real account.

Try these first

Ten minutes, before asking anyone for help. If any of these is unfamiliar, that’s fine — screenshots of what you find are exactly what to send me.

  • In your Supabase dashboard, open the table that shows nothing (or everything) and look at its ‘Policies’ tab — is there a rule for the action that fails? No rule, or the wrong rule, is the usual cause.
  • Check the published app points at the same Supabase project the preview did (Project Settings → API: the URL and the ‘anon’ key should match what the app uses).
  • In Supabase, open Authentication → URL configuration: is your published domain in the list of allowed redirect addresses?
  • On the published site, press F12, open the ‘Console’ tab and reload. A red line mentioning 401 or 403 means a permissions problem; one mentioning CORS means the app and the database don’t recognise each other’s addresses. Screenshot it — that is most of a diagnosis.
  • Connect the project to GitHub if it isn’t already (Lovable has a one-click option), so every future change is saved and can be reviewed.

How I work on Lovable projects

I take the project from GitHub, run it locally against your Supabase project, and reproduce the failure. Lovable’s front end is usually the healthy part; the work is nearly always in the policies, the server-side logic and the boundaries between them.

Fixes go back through GitHub as small, reviewable commits, so Lovable stays in sync and you keep building in it afterwards. Nothing about the fix depends on me being around next month.

Common questions

Can you work with Cursor, Lovable, Bolt, Replit or v0 projects?

Yes — all of them, plus Claude, Copilot and ChatGPT output. I don’t much care which tool generated the code. What matters is the application underneath it: the architecture, APIs, database, dependencies, and where things are breaking. Lovable and Bolt projects tend to need deployment and backend work; Cursor and Copilot projects more often need the seams between generated pieces checked.

Do I need to rebuild my application?

Usually not. Rewriting is the most expensive option and it’s rarely the one the code actually calls for. I’d rather find the specific things that are broken and fix those.

Can you help with deployment?

Yes, and it’s one of the most common reasons people get in touch. "It works locally" is almost always an environment, configuration or build problem rather than a code problem, and those are findable.

How much does it cost?

It depends on the work, so I don’t publish a price list. After a first look I quote a fixed price for the diagnosis, and any fix is scoped from the findings — so you know the cost before any work begins, and nothing changes partway through.

The service

AI Code Debugging

The app half-works. You've described the bug to the AI six times, and each fix moves the problem somewhere else. At some point the loop stops being cheaper than reading the code.

Further reading

Your AI-built app doesn’t need another prompt.

It might need an engineer.

If you’ve spent hours asking AI to fix the same problem and you’re going in circles, stop fighting the code. Send me what you’ve got — I’ll figure out what’s wrong and tell you what I’d do next.

No cleanup. No judgment. The messy version is usually the useful version.

Show me what’s stuck.

Don’t spend another six hours fighting the same bug. Send me the URL, repo, screenshot, error, or just tell me what you’re trying to make work. The messy version is fine.

Both open with a short template already filled in. I’ll take a look and tell you what I need.