Utilizing Service Workers (or whatever) to Allow Offline Capabilities

I have an app that is starting to be utilized on a regular basis in my community. My customers would like to be able to use it when out of cellular service (about 20% of the time). In order to do this the app would need to cache some information ahead of time, store data while offline, and they synch when back in cellular/WiFi range.

Is this possible to do? I have been researching service workers, but the discussion on this forum seems to surround using them to simply add a button on users’ home screens. Is offline functionality a bridge too far for Bubble? Has anyone had any success using their Bubble apps offline?

I am also interested. Did you get any response?

Hey! No, not at all. I ended up starting a satellite internet service line so my well-heeled customers could use the app anywhere.

Genl idea is that u can implement in app#2 just the front end of a proxying Web app AND you can config the precaching so that the cache loads from the working, online set of urls (bubble app). These preloaded urls serve when the app#1 is off line . see workbox api

effectively nothing more than a proxy mapping workbox set to the real bubble set of urls.

Well Rick, I think thats a great move. :star2:

This is a real need, especially for mobile/field apps where users may lose cellular service during normal use.

If your app is built with Bubble Mobile, I recently released a plugin that handles part of this offline workflow:

Offline Action Queue Mobile

It does not try to turn a Bubble app into a fully offline database or solve full two-way sync/conflict resolution automatically. But it does help with a very common pattern:

  • Save an action locally while the phone is offline
  • Store the form/update data needed for that action
  • Detect when the phone is online again
  • Trigger a Bubble workflow to process the saved action
  • Track pending / sent / error states
  • Retry or delete queued actions manually

So instead of relying on the user to have connection at the exact moment they submit something, you can queue the action and process it later when the device is back online.

Example use cases:

  • Field reports
  • Inspections
  • Sales/customer updates
  • Notes
  • Orders
  • Check-ins
  • Forms that should not be lost when service drops

For full offline browsing/caching of an entire Bubble app, service workers and app-level caching are a different problem. But for “store data while offline and sync the workflow later”, this plugin can be a practical starting point for Bubble Mobile apps.

Hope it helps.