All Collections
All Things Caching
Can you make your Bubble app work offline?
Can you make your Bubble app work offline?

Does using caching strategies to make your Bubble app available offline work?

Kevin Basset avatar
Written by Kevin Basset
Updated over a week ago

In most cases, the short is unfortunately "no". Although Progressier comes with a caching strategy builder, Bubble has limitations that prevent your app's service worker from caching key resources.

Caching Bubble's static assets (stylesheets, HTML documents, images, etc) is fairly easy. However, data coming from your Bubble database isn't cacheable.

So unless your app is exclusively made up of static assets, you won't be able to make it work offline properly.

Why is Bubble data not cacheable?

Bubble has an unusual way of retrieving data from its server. Every request is structured as a POST request to {your-domain.com}/elasticsearch/mget

Although POST requests are generally not meant to be cached, the real problem is that the payload of the request is completely obfuscating its purpose. Every payload looks like this:

Every request — even for the same data — has a different set of x, y and z parameters. So even if you could cache it, when you open your app later while offline, you wouldn't be able to match the request with a cached request.

And since every single request for data — any data — goes to the same endpoint with an obfuscated payload, you can't just assume every request to {your-domain.com}/elasticsearch/mget is for the same set of data.

So in short, unfortunately, Bubble apps can't work offline.

Did this answer your question?