Guide · Rescue

Stuck with a Lovable build? Here is what to do

What you actually own, why projects stall, who has been paying for the failed attempts, and the three outcomes we choose between before quoting a fixed price.

15 min readVerified
A pixel-art heart with a sticking plaster across it.
Summary

A Lovable project is a standard React codebase you own, on a database you may or may not own yet. Most get stuck for the same reasons: permissions, the data model, and a fix loop that bills you per attempt whether or not the attempt worked. In a free twenty-minute call we work out which of three outcomes fits, fix, build on, or start again, and then read the code and the database before we put a fixed price on it. The AI bill for the work is ours, never yours.

The short answer

There are three ways a stuck Lovable project ends: it gets fixed, it gets built on, or it gets started again with what you learned. Which one fits is a question about the code and the database, not about how much you have spent, and we answer it before we quote.

The call is free and takes twenty minutes. Bring the Lovable link and, if you have one, the GitHub repository. If the answer is a few hours of fixes, we will say so and you will not need us. If it is a version one with a head start, we read the code and the schema, and the price we give you is fixed from that reading.

Apps with an open database
170of 1,645 scanned
One Lovable credit on Pro
$0.25each
Adding sign-up and login
1.2credits

What you actually have

The good news first. Lovable’s own documentation says you are never locked in, and that a Lovable application is a standard Vite and React project with no proprietary frameworks and no hidden dependencies1. The code can be synced to a GitHub or GitLab repository at any time, cloned, edited outside Lovable and hosted anywhere2. That is true, and it is why a rescue is possible at all.

The part people miss is that the code is only half of the app. The other half is the database, the user accounts and the server-side functions, and where those live depends on a choice made early, often without knowing it was a choice.

PartWhere it livesCan you take it?
The codeA Vite and React project, synced to a repository you own if GitHub sync is on2Yes. Clone it and it runs anywhere1
Database on Lovable CloudLovable’s built-in backend, which runs on Supabase’s open-source foundation3Your data exports. The schema has to be rebuilt by hand in a Supabase project of your own3
Database on your own SupabaseA Supabase project in your account, billed by Supabase4It is already yours. Disconnecting Lovable changes nothing in it4
Sign-in and usersWherever the database isWith your own Supabase, they come with the project. On Cloud, take the export before you remove anything: removing Cloud deletes it and cannot be undone3
Hosting and domainLovable publishes the app and serves a connected domainThe published app stays live if you downgrade, but an app on Cloud or using AI features needs credits to keep serving requests5

Read from Lovable’s documentation on the date in the sources. The Cloud line is the one that decides how much of a migration there is.

So the first thing we ask is not “what does the app do” but “where is the database”. Your own Supabase project means the data, the users and the policies are already in your name and the move is a code move. Lovable Cloud means the data comes out as an export and the structure is rebuilt, which is real work and is priced as such.

Why it got stuck

Almost every stuck project we see stalled in the same places, and none of them are the easy parts. The landing page, the forms and the dashboard came fast. What stopped was the part where the software has to be right rather than plausible.

  • PermissionsWho can see which rows. Lovable’s own guidance is that before going live every table needs Row Level Security policies restricting who can read and write each row, and that missing policies are the most common way app data gets exposed4. It is also the thing a prompt is least likely to get right, because the app looks identical whether the policy exists or not.
  • The data modelTables that grew one prompt at a time. Customers with three different address fields, orders that do not know which price they were sold at, a status column that means four things. Every feature after this point is built on it, and every fix disturbs it.
  • IntegrationsThe accounts package, the calendar, the payment provider. A generated integration works for the demo and fails on the case the demo did not include: a refund, a timezone, a customer with two accounts.
  • Branching logicRules with exceptions. Approve unless the value is over the limit and the requester is not a director. The model can write the rule; what it cannot do is hold every other rule in its head while it does, so the fix for one breaks another.
  • RolesA customer view and a staff view are two products sharing a database. When they were added as a second prompt rather than designed as a second product, the seams show wherever the two meet.

Underneath all five is the loop. Each fix is a fresh request to a model that sees the code but not the intent, so it fixes what you pointed at and disturbs what you did not.

Lovable’s own advice for the loop is sound: revert to a version that worked, plan before you build, and make one small change at a time. The reason people still end up here is that by the fifth or sixth cycle nobody, including the model, holds a picture of the whole system. That picture is what a developer is for.

Who pays for the attempts

Lovable is priced in credits. On the Pro plan that is $25 a month for 100 monthly credits, with five more a day on top7, which makes a credit about 25 cents.

Lovable’s pricing page gives worked examples of what an instruction costs: making a button grey is 0.50 credits, removing a footer 0.90, adding authentication with sign-up and login 1.20, a landing page with generated images 1.706. Planning without building is a flat credit per message6.

Under the hood those credits buy calls to a model. Lovable runs an agent on Anthropic’s Claude models, with subagents for different parts of a task8, and Anthropic sells the same models directly at published prices, from $1 to $25 per million tokens depending on the model9. What one credit buys in tokens is not published, so we will not put a multiple on it.

Two things are certain. The meter runs on every attempt, including the ones that broke something. And unused monthly credits expire two months after they are issued6, so a project that stalls for a quarter loses the credits it did not use as well as the ones it did.

You never front our AI bill

We use the same models to build. The cost of every attempt, including the ones we throw away, is inside the fixed price. You pay for working software, once, and a failed attempt costs you nothing. That is the whole difference between a tool that bills per message and a studio that quotes a number.

This is not an argument against Lovable’s price. Twenty-five dollars a month is a fair price for a tool that gets a prototype in front of people in an afternoon. The wider case for owning software rather than renting it is in the own-or-rent guide.

It is an argument about where the risk sits once the prototype has to become a system. On a per-attempt meter the risk of not knowing how many attempts it will take is yours. On a fixed price it is ours, and we are the ones who can see the work.

The security check, before anything else

Whatever the outcome, this comes first, and it should come first for you today even if you never speak to us.

In March 2025 a researcher scanned 1,645 Lovable-built sites and found 303 endpoints across 170 of them, about one in ten, that could be read or written without logging in, exposing names, phone numbers, subscriptions, payment details and API keys10.

It was recorded as CVE-2025-48757 and scored 9.3, critical: an insufficient database Row Level Security policy in Lovable through 15 April 2025 allowed remote unauthenticated attackers to read or write arbitrary tables of generated sites11.

Lovable disputes the record on the grounds that customers are responsible for protecting their application data11, and in April 2025 it added a scan that runs before publishing, built on Supabase’s Security Advisor, to flag tables without policies12.

Both sides of that are true at once. The policies are the customer’s responsibility, and the customer was rarely told. A green tick from a scanner that checks whether a policy exists is not the same as a policy that restricts anything; a policy that allows everything passes the first test and fails the second. So we do not read the scanner, we read the policies.

Do
  • Turn on Row Level Security on every table and write a policy that names who can read and who can write. Then test it as a logged-out user, not as yourself.
  • Check every storage bucket is private unless it holds public assets, and that uploaded files are not listable.
  • Rotate any key that has ever been pasted into a prompt or shipped in the front end. The public key that Supabase apps use in the browser is designed to be public; it only protects you if the policies behind it do.
Don’t
  • Treat a passing scan as a passing system. It reports that a policy exists, not what it allows.
  • Put a service-role key, a payment secret or a private API key anywhere the browser can see it.
  • Wait until after launch. The data that leaks is the data you collected while you were waiting.

Fix, build on, or start again

We read the repository and the schema, run the app, and list what is real: which features work end to end, which work for the demo path only, and which are screens with nothing behind them. Then the decision is usually obvious, and it comes down to five signals.

SignalFixBuild onStart again
The data modelSound. The tables mean what they say.Mostly sound, a few tables to reshape and a migration to write.The model itself is wrong: the same fact lives in three places, or the thing you sell is not a table.
PermissionsPolicies exist and restrict; gaps are a day’s work.Policies are missing on some tables; the fix is real but bounded.Nothing restricts anything, and data has already been collected.
What worksMost of it, end to end.The screens and flows are right; what is behind them is thin.The demo path works and nothing else does.
IntegrationsConnected and handling the edge cases.Connected for the happy path; the failure cases are the work.Faked, or built against the wrong system.
What you need nextThe same product, working.The same product plus the next workflow.A different product from the one the prototype taught you to want.

Two of five in the last column and the code is a prototype, not a foundation. That is not a failure: the prototype did its job, which was to tell you what to build.

A fix keeps the repository and the database and closes the list. A build-on keeps the front end and the parts of the schema that are right, moves the database into your own Supabase project if it is on Cloud, hardens the policies, adds tests around the flows that matter, and takes Lovable out of the loop so the app runs on hosting and a domain in your name.

A start-again keeps the learning and, usually, the design, and treats the rest as a spec. In every case the code is never the asset. The knowledge of what the business needs, which the prototype made concrete, is.

Each is priced from the blueprint, the way any build is, and the floor is the same £10,000 as any build, because a rescue worth doing is a version one with a head start.

The cost guide has the bands and what moves a build between them, and the five signals above are the same five things. If what you need is an afternoon of fixes, we will tell you on the call, and a good freelancer will do it for less than our floor.

What a migration involves

A build-on is the outcome most stuck projects land on, so here is that path in full. A fix is the first three steps; a start-again is the delivery process in the cost guide, with a prototype to point at.

  1. Blueprint call

    Free

    Day one

    Twenty minutes. Bring the Lovable link, the repository if there is one, and the honest list of what does not work. We tell you which of the three outcomes we think it is and why.

    1
  2. Read

    Audit

    Week 1

    We clone the repository, run it, read the schema and every policy, and write down what is real. If the database is on Lovable Cloud, we take the export now, before anything is changed.

    2
  3. Blueprint

    Written

    Week 1 to 2

    The outcome in writing, with what is kept, what is rebuilt, what is dropped, and one fixed price. This is where the reading becomes a number that does not move unless the scope does.

    3
  4. Build on

    Built

    Weeks 2 to 6

    The database into your own Supabase project, policies that restrict, tests around the flows that carry money or personal data, the integrations finished for their failure cases, and the app deployed on hosting in your name. Lovable comes out of the loop; the code does not notice.

    4
  5. Launch and handover

    Owned

    Handover

    Every account in your name, the repository yours, your team trained, and the same warranty as any build: anything that does not do what the blueprint says is ours to fix.

    5

Two things about the move itself. The published Lovable app can stay up while we work, because publishing is separate from the code, and it keeps serving after a downgrade as long as any Cloud or AI features have credits5.

And we ask you to stop prompting in Lovable once we have cloned the repository: the sync works on one branch at a time2, and two authors on one branch, one of them a model, is how the loop starts again.

When to stay on Lovable

Some calls end with us telling you to keep going, and we would rather that than take a project that does not need us.

  • It is a prototype and it is doing its job. If the point is to show an idea to customers, investors or your own team, a Lovable build is the fastest way to a thing people can click. Keep it as that.
  • You are the only user. An internal tool for one person carries no permissions problem, because there is nobody to keep out.
  • It holds no personal data. A calculator, a configurator, a landing page. The security check above still applies to anything with a database, but the stakes are yours alone.
  • It works and you enjoy it. Plenty of people are shipping real things this way and fixing them as they go. If the loop is not costing you sleep or customers, it is not a problem to be solved.

The moment to talk to someone is the moment the app starts holding other people’s data, taking their money, or standing between your team and their work. That is when the questions in this guide stop being hypothetical, and when a fixed price for a working system starts being the cheaper option.

Bring the project as it is

Twenty minutes, no preparation, and a straight answer about which of the three outcomes it is.

Apply for a blueprint call

Questions people ask before a rescue

Sources

Every third-party figure above was read from the page cited, on the date shown. Vendors change prices without notice, so the date is part of the fact.

  1. 1Lovable documentation, deployment, hosting and ownership options. States that you are never locked in and that applications are standard Vite and React projects with no proprietary frameworks. Seen 4 September 2026.
  2. 2Lovable documentation, GitHub integration. Two-way sync on one branch at a time; repositories private by default; clone locally and continue in your own editor. Seen 4 September 2026.
  3. 3Lovable documentation, Lovable Cloud. Built on Supabase’s open-source foundation; data exports; moving to your own Supabase project means rebuilding the schema by hand; removing Cloud permanently deletes the instance. Seen 4 September 2026.
  4. 4Lovable documentation, connect to Supabase. Your Supabase subscription is billed by Supabase; every table needs Row Level Security policies before going live; missing policies are the most common way app data gets exposed. Seen 4 September 2026.
  5. 5Lovable documentation, publish your project. A published app stays live after a downgrade; apps using Cloud or AI features need credits to keep serving requests. Seen 4 September 2026.
  6. 6Lovable pricing page. Worked examples of credits per instruction; Plan Mode at one credit a message; monthly credits expire two months after issuance. Seen 4 September 2026.
  7. 7Superblocks, Lovable.dev pricing in 2026, 6 October 2025. Pro $25 a month for 100 monthly credits plus five a day; Business $50 a month. Lovable’s own pricing table is rendered in the browser and could not be read directly, so the figures are taken from this review. Seen 4 September 2026.
  8. 8Anthropic, Lovable customer story. Lovable’s product runs a main agent with subagents on Claude models; 50 million projects built. Seen 4 September 2026.
  9. 9Anthropic, Claude API pricing. Haiku 4.5 $1 and $5, Sonnet 5 $2 and $10, Opus 5 $5 and $25 per million input and output tokens. Seen 4 September 2026.
  10. 10Matt Palmer, statement on CVE-2025-48757, 29 May 2025. 303 endpoints across 170 of 1,645 projects scanned on 21 March 2025; Lovable notified the same day. Seen 4 September 2026.
  11. 11MITRE CVE record, CVE-2025-48757. Published 30 May 2025; CVSS 9.3 critical; marked disputed, the supplier holding that customers are responsible for protecting their application data. Seen 4 September 2026.
  12. 12Lovable, Secure vibe coding, 9 June 2025. Supabase’s Security Advisor integrated into Lovable; apps are scanned for security issues before publishing. Seen 4 September 2026.
Sohail Chowdhary

Sohail Chowdhary

Co-founder and technical lead, Clientflow

Sohail leads product and engineering at Clientflow: the architecture, the backend and the code that ships.

All guides