What are your best tips for designing fast apps?

I can see how this can add value @telaholcomb

We’ve only installed two plugins as I really want to build native as much as possible. My fear is to have one be a huge part of our build and it eventually stop being maintained and we have no control over that.

1 Like

It’s a common and very logical concern @telaholcomb albeit a good plugin author should maintain all work. Sadly this is not always the case when sales are poor and interest is low, which is understandable also.

Glad it helped! :blush:

I really like this thread. Some really good insight from some obviously experienced people. :pray::pray: @mikeloc
I always struggle with the best way to build a report and have the ability to down load it in PDF .

Does anyone here have any advice on how to keep this as native as possible. Iv tried all the plugins but most inconsistent I find.

Any pointers would be appreciated.



Tks a lot


1 Like

No problem. :blush:

@alejandrowunderlich – great tips!

For non-coders, do you have any suggestions for best practices / approaches for animations. I’d like to explore some options for animations for situations like:

  1. While a page loads
  2. While a search is being performed
  3. While a popup is being loaded (for large popups, there’s a delay before they are displayed)
1 Like

When you guys recommend “going native” over installing plugins, do you mean creating your own code or api calls instead of installing a plugin which achieves the same? Or do you mean doing away with the need for those functions in the first place?

Sorry, @timgarrett111… I don’t have any tips on the PDF front. In fact, one of the only plugins I have used is PDF Conjurer, and it definitely suited my needs.

@phrase9… speaking only for myself, of course, going native means finding a way to do things without plugins or custom code. Let me give you a non-Bubble example… I’ve been a spreadsheet (Excel) guy for more years than I care to admit, and I’ve always known you can use Visual Basic to enhance your spreadsheets. Well, in all my years of spreadsheeting, I have never (literally not a single time) used Visual Basic, and I have always been able to get Excel to do what I wanted it to do. Sure, maybe I’d need a handful of hidden columns or some voodoo magic across multiple sheets, but I always got there, and nobody (including me) cared as long as the end result accomplished the goal. My approach to Bubble has been exactly the same… I didn’t gravitate to this platform to write custom code or to rely on other developers to write it for me (and again, no offense at all to the amazing folks who create plugins). I came here so I, as primarily a non-coder, could understand everything about the applications I am creating, even if I have to hack stuff together to get it to work. Over two decades in the software world has taught me that in the end, nobody cares as long as it works as intended.



Here’s a niche question on speed:

If you have a lot of custom states, is it better to assign those custom states to the objects they are associated with, or assign them all to one object or to the page? Or does it matter?

Most of them, for me, are assigned to the page. The only time I don’t assign them to the page is when it is used for a confirmation for a deletion. Or maybe it’s a popup sometimes too.

For me, personally, it’s easier to just know that my set state is assigned to the page instead of trying to search for, and trying to remember, which item I have the set state assigned to.

The majority are assigned to my page, but not all.

Hope that helps! :blush:

@j805 www.NoCodeMinute.com

For All Your No-Code Education Needs:

  • One-on-One Tutoring
  • eLearning Hub
  • Video Tutorials
  • No-Code Classes

Thank you. I can see how that would be an easier setup.

In my case as I was building I was moving groups between the pages so it helped to have them assigned to the groups, so I wouldn’t have to rebuild all the workflows for each group.

1 Like

Sounds good. :blush:

This is my method as well. Always assign to the first parent that might need it. It allows me to copy/paste with workflows across apps pretty well.

Great insights in this thread! :+1:

When it comes to plugins, I’d suggest a more balanced and considered approach. Before deciding whether to use a plugin, do your due diligence and find out if it can be done natively, and if so, whether the native implementation is acceptable in terms of the desired end-user experience (performance, ease of use, etc.) as well as maintainability (from a Bubble developer standpoint).

I certainly see plugins recommended unnecessarily due to a lack of familiarity with the Bubble platform. But by the same token, just because it can be done natively does not necessarily mean that’s the “best” way for a particular app. Plus, some things simply cannot be done without a plugin, and it seems silly to constrain an app’s functionality or compromise the user experience due to platform limitations or unwarranted concerns about performance.

Keep in mind, also, that plugins fall into 2 general categories - those built with traditional coding techniques and those built using Bubble’s REST API integration capabilities. The latter require less technical knowledge to implement and are generally easier to develop and maintain (but if the plugin’s not free, you’re still hostage to the developer).

In short, judicious use of plugins is, in my view, not a bad thing - even from a performance standpoint.


Pdfs are not easy. There is a lot of libraries out there but to make something great is difficult.
A solution that works well if you only have few templates is to create the file in word with merge tags for data that you want to be dynamic, e.g {{name}} etc.
Then post the data from bubble to a service like Integromat where there is a built in docx templater function that can fill out the file, then convert the file to pdf (also in Integromat) with cloudconvert and then return the file.
This worked well for us for a long time. Now we employ a custom built solution run on AWS that creates really large and dynamic PDFs for our users (like 500+ pages unique PDFs in 10 seconds).

So the workflow inintegromat is this: webhook-> fetch template from Dropbox -> Fill template with docx templater -> convert to pdf -> store file -> return http to bubble with either file data or stored location

1 Like

Hi @simon7 Simom

This is amazing as I’m struggling with this at the moment and still get such bad results, so I do appreciate another avenue to take.

May I ask did you ever have any problems dealing with long lists and page breaks? Especially dynamic data inputted from the user.

I just cant to find the solution to page break neatly it drives me crazy!!

Thanks so much, Simon

Hi @timgarrett111,
When your template is a word-file, what happens when you insert a long string/list is that the output just follows the formatting rules of the original word file. So if you have a 4 cm margin at the button of the page, the pagebreak will happen when your content reaches the margin. Its essentially as if you copy/pasted the string directly into the document yourself.

If you use the method I mentioned with integromat you can use both loops and conditions to make really dynamic content:
Integromat Word Templates

1 Like