Free native solutions to paid plugins

A Thread of Native / Better Solutions to Paid Plugins

This is definitely best classified as an ‘opinion’ thread rather than anything else. Feel free to take my thoughts with a grain of salt. Am I right to be the one deciding which plugins aren’t valuable? No, of course not, but I am allowed to have an opinion on it and you can do with that what you wish. I’m not making decisions for people - I’m presenting them with the information that can help them make an educated decision that’s right for them.

Why did I make this thread?

This thread offers native solutions to paid plugins or better alternatives to paid plugins. This is so that newer Bubblers don’t spend money that they don’t have to spend because they simply don’t know that something can be accomplished in Bubble.

This helps Bubblers:

  1. save many plugins
  2. learn Bubble hacks
  3. not fall victim to cash grabs
  4. reduce risk of plugin dependency

Some plugin builders will definitely hate me, but it should only be the ones that are creating paid plugins that don’t add any value and are pretty much cash grabs. If your plugin actually adds value then fantastic, you won’t be seeing it here! The builders of the plugins like these generally know full well to what extent their plugin adds value, but you might not :slightly_smiling_face:

I won’t be adding many free plugins that have native solutions just because it’s clearly not a cashgrab and whilst it’s not adviseable to use a plugin if there’s a simple native solution (for the sake of ensuring it remains compatible in future and doesn’t break), at least it’s a ‘take it or leave it’ kind of thing.

What’s on this list

The plugins in this (continuously evolving) list:

  • can be entirely or mostly replaced by a native feature. The extent to which they can be replaced are described under the ‘Limitations’ of each plugin.
  • are not unreasonably difficult to swap out for native Bubble behaviour. The solutions might ‘look’ hacky but they’re actually not too difficult - you’re just doing natively in Bubble what the plugin does behind the scenes.

They’re in no particular order, I’m just doing through the plugin marketplace and listing the ones I fancy. I’m trying to add a couple per day for the foreseeable future :slight_smile:

Some developers will always argue ‘well it makes it easier for new developers even if it’s possible natively’ - whilst that’s possibly true, if a developer lacks the ability to implement a simple native solution for a paid plugin then the rest of the app probably won’t be amazing. I’m not the one deciding whether developers go the native or plugin route - I’m just presenting the information so that they can decide.

The solutions

Some of the solutions are native solutions written by me, some written by others, and some use free or just better plugins.

Have I missed something?

If you developed one of the plugins on this list and feel that I’ve missed something that your plugin does that can’t be achieved in Bubble, let me know by DM and I’ll happily edit the Limitations section accordingly or remove from the list!

Why avoid plugins if you can?

  1. If they’re paid plugins, it’s obviously cheaper.
  2. Plugins require support from developers. They can stop working in the future as the Bubble Plugin API changes or as old libraries stop working etc.
  3. They limit flexibility. The worst offenders for this are API call plugins where you’re restricted to the parameters permitted in the plugin. They might not offer the ability to customise everything you want.


Contributions can be submitted as comments or by DM and I’ll add them as appropriate :slightly_smiling_face: Just make sure the solution you provide has an editor demo if it’s a native solution, or a link to the free/better alternative if it’s another plugin.

Please do reply with your own solutions/tips/tutorials, as long as they’re free!

The List

Structured Table

  • Revenue estimate = installs x one time purchase cost - take this with a huge grain of salt as some plugin prices will have changed over the course of their lifespan (free → paid) (and there are Bubble fees/different payment types etc so it can vary wildly). This is just to satiate my curiosity.
  • Difficulty = combination of time to replace and technical skill required, subjective
  • Limitations = limitations that I’m aware of. Correct me if there are more.
  • Cashgrab score = the extent to which I think the plugin was made with the intention of exploiting naive Bubblers (subjective)

Table link: Plugin alternatives


Wow, it’s a real knife fight out here in a world of Bubble plugin development! :sweat_smile:

I would say in case of my plugin here — Landing Page Animated Text Effects , it’s not in category of Plugins you don’t actually need.
Since if you want to have responsive landing page with this effect, which is kind of industry standard these days, you can’t do it natively.

This particular change was done at customer request, so it’s a real use case.
But please, do not delete me from the post by any means :sweat_smile:

Also, do not forget, Bubble takes 25% of sales, so your numbers, on my plugin at least, are not correct, and it’s even less than if you deduct 25%.

People can subscribe for one week and cancel, and they will be charged only for days they were subscribed.

That’s a pretty safe way to try out the plugin without paying full price.

1 Like

don’t worry your plugin is the least worst offender I’ve seen :rofl: you’re obviously not making a cash grab unlike others on this thread but there are ways to achieve what your plugin does natively which I wanted to share for anyone exploring that realm :slight_smile:

I don’t represent Zeroqode, nor do I have any past, present or expected future affiliations with them.

I have an issue with you listing this plugin here and providing the Free Solution as Stripe.JS, mainly because I think you may not have come to realize that the reason Stripe.JS is free is because, as a very complex plugin to understand for newbies, it comes with a generous offer of Paid Training materials.

There are developers and businesses who use Bubble for earning a living, and some of them come up with alternative approaches to how they can be fairly compensated for their time and expertise. Some may provide a paid for plugin that comes with free comprehensive documentation and training materials making it easy for a newbie to be competent enough to use their plugin, while others may choose to provide a free plugin and offer paid training courses on how to use that free plugin.

Personally, you likely would not be stepping on anybody’s toes if you were to have just made tip posts explaining how to do each of the Free solutions without lamenting paid plugins. And again, personally, I would never post in the plugin owners showcase post about how you could do the same thing for free. It really irks people the wrong way when you do something like that.

Your last two examples of free solutions are good. You took the time to post a tip on how to achieve the functionality, however, in your last one, you should not have blasted the paid plugin, it is is completely unnecessary. Just post your tip on how to achieve it and leave it at that like you did in the second to last.

Also, I really do not think you should be posting in the Showcase of these paid plugins.

Ultimately, I see the approach as a way to make the community less welcoming and a bit more combative.


This is true - paid plugins will come with a higher degree of paid support. I think I’ll remove the Stripe Marketplace plugin from the list given that.

It should only irk people who know full well the value add (or lack thereof) of their plugin.

I’m making this thread for the new members of the community. The ones that shouldn’t even be offered the option of paying $10 for an iFrame (I mean come on… really…). It’s the new members that are most open to being taken advantage of by quick cashgrabs and those are the ones I’m writing for.

EDIT: By the way, I do understand exactly how controversial this thread will be. Yes, plugin developers make a living, but it’s wrong to do that by taking advantage of new Bubblers. Less money spent on cashgrabs is more to spend on the plugin developers actually adding value to the ecosystem. Of course there are degrees to which some plugins are cashgrabs, but nobody can justify charging $10 for an iFrame or $15 for a spinning icon and you can bet I’ll do everything to make sure developers don’t see a penny more earned from plugins like those because it’s just indefensible.

1 Like

It would irk anybody for you to post in their showcase thread. You shouldn’t do it.

Or you are making this thread because you are an Agency and attempting to provide free content to the community to try and ‘add value’ as a means of marketing your agency… :man_shrugging:

Why? Are you the Bubble Caped Crusader or something. Just stick to providing solid free tips to help the community and elevate your Agency reputation without trying to get in the pockets of others.


Because it’s wrong… it’s that simple, and it’s negative to the Bubble community if people are sold something they don’t need. I’ve used the example of a tourist trap before - it’s no different to shops selling overpriced/fake souvenirs to new tourists by exploiting their unfamiliarity with the city. New users on Bubble look at flashy plugins and think they’re essential without realising the plugin’s functionality can be achieved very simply natively. Some plugins blatantly exploit that.

1 Like

In the same example, you would then be likely to stand outside the front door of the souvenir shop telling everybody who was about to walk in to not, and instead direct them to another souvenir shop that you personally believe is better.

Somebody’s Showcase Forum Post should not be a place for you to post in an attempt to gain more attention for your Agency. It is distasteful. I think you should not be posting in their showcase thread.

Posting the free alternatives all in this thread instead of multiple threads to keep forum clean:

How to embed an iFrame without plugins

This tip is a little out of place but it seems to be necessary…

@boston85719 won’t tell you about it but he made a great tutorial:

One does not need a plugin to embed an iFrame.

Just add an HTML element and paste this code:
<iframe src="https://YOURURL.COM" width="100%" height="100%" title="You don't need a plugin for this!"></iframe>

Here’s a quick editor demo:

How to add loading spinner to page without plugins

Here’s a quick guide to add a loading spinner to your Bubble page, like below. You do not need any paid plugins. It will show as loading until the entire repeating group is loaded.

CleanShot 2023-09-17 at 14.37.37

The simplest way to do it is to just add an icon visible on page load and invisible when the repeating group’s loading is no. Make the icon rotate. You could use any icon, colour, style etc.

You can also add any animation. I’ll use this one from LottieFiles: ios style loading spinner by Bibek Gurung - LottieFiles. Just save it to your workspace and copy the embed code that looks like this:

Change the width and height in the code to be the sizes you want.

Paste the code in HTML element with same conditions as described for the spinning icon above. It will only take a fraction of a second longer to load compared to the spinning icon.

If you’re adding multiple LottieFiles on the same page, only the first one needs <script src=""></script> - you can remove it from any other embeds as it’s redundant.

1 Like

You’re right, I will keep stuff only here in future :grin:

It’s not getting attention for the agency - people here are already building their own apps and don’t need me. It’s an attempt to get the attention of people about to waste money on something they really do not need.

1 Like

One line of code to do the thing.
More lines of code to do the thing every time, no matter what.

I don’t have any paid plugins in circulation right now, so I’m not here to defend anyone. But I have a lot of experience of JS inside of Bubble, enough to say that the simple solution rarely turns out to be genuinely viable.

For example, in your spinner solution here, you suggest Bubble devs copy & paste a Lottie embed script into Bubble. This is fine for the first embed, but it will throw exceptions on every subsequent embed as the library will clash in the background. This could be handled without a plugin but things start to get complex.

There are an unimaginable number of these gotchas out there. Good plugins for the simple stuff will take care of them for you.


Worked fine when I tested. Just added three to the page to show. The console log error isn’t particularly important as the only functionality of the player is to display the implementation.

Possibly fine for your purposes. I don’t want errors in the background or foreground, and I don’t want my app re-requesting resources that it already has access to.

Btw, I like the sentiment of your post. The full picture is a bit more nuanced is what I am here to add.


Also, now, I have link in my Showcase thread to this one, with name “Plugins you don’t actually need”.
All jokes aside I don’t think it a cool behaviour on your part. Since my plugin is not a “cashgrab” even according to you.

1 Like

Haha, nobody does

Oh absolutely. Plugins might be required in some edge cases, but not for the vast majority of new Bubblers if that makes sense.


I like the goal of your thread but maybe a rebrand is in line?

You’re teaching free/native alternatives to plugins so a title change to reflect that will prevent it from getting closed eventually.


I would be very careful with words “exploitive” and “cashgrab”.
Because you are arguing that $10 per plugin is too much,
while your agency is asking for $10k for 1 week of work building an app.
Which is like $250/hr rate. I would say that $10 plugin is not a bad deal comparing to that.
Do you really want people to check if it’s a good price?

I’m sure there are a lot of Brazil, India, Philippines etc based agencies that will do same work at a fraction of what you are asking for.
Is it a cashgrab then on your side?
Why even take this route of discussion?


I’m arguing $10 for an iFrame is wholly exploitative and absolutely a cash grab.

Most apps take two weeks. Sometimes multiple developers work on a project to accelerate it.

I’d encourage you to go to any large agency website and see where their pricing starts. You’ll be surprised when you see 50k-100k price bands, but that’s besides the point…

How to create Stripe customer portal link

Follow this tutorial by the plugin creator: It’s a great tutorial so maybe you want to get the plugin to credit his time but use this tutorial to avoid plugin dependence:

We simply replace the Self Service Portal - Stripe Portal action with a new custom API call:

The authorization set up is as follows:

Select ‘manually enter API response’ and paste the following.

  "id": "string",
  "object": "billing_portal.session",
  "configuration": "string",
  "created": 1678388475,
  "customer": "cus_id",
  "flow": null,
  "livemode": true,
  "locale": null,
  "on_behalf_of": null,
  "return_url": "",
  "url": "stripeCheckoutURL"

When you want to generate a portal session URL, call that API (you’ll use Current User’s Stripe Customer ID as the customer parameter if you use the Stripe plugin):

And go to the URL returned in the API call:

This actually shows that you don’t understand how native custom elements works.
It’s an easy fix, you only need to add the script once globally in the page :wink:

Edit: it’s in part also a limitation of the library imported because it doesn’t check if the component is already declared.