arrow_back Back to Blog
capacitor live updates capgo lovable

Capacitor Live Updates for a Lovable App: Capgo and the Rules

·

A Capacitor app is your Lovable web build sitting inside a native shell. That’s why live updates work at all: when you change a button label in Lovable, the thing that changed is a folder of HTML, CSS and JavaScript, and a live update service can download that folder to your users’ phones on the next launch. No App Store review, no waiting a day for Google. For a founder who keeps building in Lovable after launch, it’s the difference between fixing a typo today and fixing it next Thursday.

There are limits, though, and one of the big tools just went away.

Appflow is closing, so it’s Capgo or Capawesome

For years the default answer was Ionic Appflow. On February 11, 2025, Ionic stopped selling Appflow to new customers, and existing customers keep access until December 31, 2027. If a tutorial tells you to sign up for Appflow, it’s out of date.

The two services people actually pick now are Capgo and Capawesome Cloud. We default to Capgo for small Lovable apps because the plugin is open source and the pricing is easy to read. Capgo’s pricing page, checked November 1, 2026:

PlanMonthlyBilled yearlyMonthly active usersBandwidth
Pay as you go$0, credits only ($5 to start)per useper use
Solo$14$122,000100 GiB
Maker$39$3310,0001,000 GiB
Team$99$83100,00010,000 GiB

Over the limits it’s $0.003 per extra monthly active user and $0.06 per GiB of bandwidth to start. A typical Lovable bundle compresses to a few megabytes, so for an early app the user count decides the plan, not the bandwidth.

What can ship as a live update, and what can’t

Decision tree for a change made in Lovable: text, styles, layouts and JavaScript fixes ship as a live update; a new Capacitor plugin, a new permission, an icon or a new major feature needs a store release

Anything that only touches the web build can go out live. Copy changes, a broken form, a new screen built from components you already have, a Supabase query that was fetching too much. That covers most of what founders change in Lovable week to week.

Anything native needs a new build through the stores:

  • a new Capacitor plugin (camera, push, purchases), because the native code has to be compiled in,
  • a new permission string in Info.plist or AndroidManifest.xml,
  • the app icon, splash screen or app name,
  • a Capacitor major version upgrade.

Then there’s the rule side. Apple’s App Review Guideline 2.5.2 says apps may not download code that “introduces or changes features or functionality”, and the developer agreement only allows downloaded interpreted code that doesn’t change the app’s primary purpose. In practice, fixes and small improvements through a live update are fine, and every serious Capacitor team ships them. Turning a habit tracker into a dating app overnight is not. If the change would surprise the reviewer who approved your last version, send it through review.

Google Play is looser for JavaScript running in a WebView, but the same common sense applies.

Setting it up on a Lovable app

The short version, with Capgo:

  1. Install the plugin in the Capacitor project: npm i @capgo/capacitor-updater, then npx cap sync.
  2. Call CapacitorUpdater.notifyAppReady() as soon as the app has loaded. This one matters. If the app doesn’t call it within the timeout after an update, the plugin assumes the new bundle is broken and rolls back to the last good one. That rollback is the safety net, so don’t skip it.
  3. After each change in Lovable, pull the code, run the web build, and upload it: npx @capgo/cli bundle upload. You can put that in a GitHub Action so a merge to main ships it.
  4. Bump a store release only when one of the native changes above happens.

We had a founder whose first live update went out with the production Supabase URL swapped for the staging one, because the build ran with the wrong .env. The rollback didn’t fire, since the app loaded fine and called notifyAppReady(). It just loaded an empty database. Thirty minutes later the fixed bundle was out, which is the point of live updates, but it’s also why we upload to a test channel first and promote to production after checking it on a real phone.

Is it worth paying for?

If you change the app once a month, no. Ship store releases; Apple’s review usually takes a day or so. If you’re still building in Lovable several times a week after launch, yes, and $14 a month is less than the time you lose waiting on review for a typo.

Live updates are also one of the reasons we build Lovable apps with Capacitor first: the founder keeps prompting in Lovable and the phones get the change the same day. If you want that set up properly, our Lovable app publishing service takes your Lovable app to the App Store and Google Play from $300, and the App Store rejection fix is $350 flat if Apple has already said no.