The Ultimate Guide to Bubble Performance - the new edition is out (now 210 pages!)

Gutted I only bought the 1st one a few weeks ago.

If you go to (make sure you’re logged in with the correct email address), you should be able to see all product’s you’ve purchased on Gumroad. Clickin one of them should let you see the content (files) and download it again.

1 Like

It’s fine i could not wait for your answer so i bought it again…lol :joy:
Thanks anyway!


thanks for your answer, glad my way also makes sense to you!

Hi @petter !

Is there a paper version available?


Not currently, but I have been considering it through Amazon (or if someone has other recommendations I’m all ears). It’s likely not going to be in the short term though, unfortunately.

1 Like

Thank you for making it free to previous purchasers! Great content, keep up the good work


Just bought the book. Had a bit of a struggle verifying gumtree email for delivering the book to my Kindle device but after approving the gumtree email address of I was able to send the ebook to my phone.


Glad to hear it! Thanks for sharing it, may help someone else out!

Hope you enjoy the book!

1 Like

Bought it. Great stuff :wink: Keep it rolling!

1 Like

Hi Peter
Interesting that on my Android phone in Kindle whenever there are two ffs the 1st f is blank see screen-shot example below. Not a biggie but I thought I’d let you know.


Thanks for writing a great book!

I am struggling a bit with the “Link Data Type” discussed on pp. 116-117.

It sounds kinda like a “Thing Dump”, where you might put a bunch of lists of things (presuming the lists wont exceed 10,000 units)…

…but I am not too too sure.

Using your project management example, would you create “Project” as the “Link Data Type” and then dump the tasks, users, etc in that?

This seems like a super critical point for my project (which will involve some project management funny enough!) but I am not quite getting it in the same way that I understand Search, Content, and Merged Data Types.

I think it is because you gave good examples of those with with Client Vendor and Travel examples, but didn’t directly cover the Link Data Type.

An example of how this would work would be loooooooovely! <3



1 Like

FYI. Spotted a typo.


The purpose of the Link Data Type is really to bind things together using one data type and one field on each type you want to connect.

There are a few ways that could be done, and it would mostly rely on how you want to search for and display the data later. Let’s take the example from the book, and link Projects with Tasks and Users.

Using a Search data type
If you already have a Search data type, you can use that to link Data Types together using a list field. For example, on a Project, you may have a field containing a list of Searches. In that way, a single field can store multiple data types that you can filter as needed (i.e. showing only linked tasks or only linked Users.

Using a separate Link Data Type
If you need more advanced linking (such as adding data to the link itself), then a separate Link Data Type can be useful. An example of adding data to a link could be adding a User to a Project, and then saving some sort of description on that link (describing a User as Project Manager or saving the date when the link was created). You could still use the Search data type to reference the Task or User that you want to connect with the project, but the Link data type would only be created when needed. The Link Data Type can be searched for (removing the need to store it in a list), and allowing you to use Privacy Rules on it.

I may add another example for the Link Data Type at some point if that was unclear, but I’m hesitating a bit since there’s such a wide range of possible scenarios that would require different setups. It may be that the mention of them didn’t really belong in the book in the first place, happy to take feedback on that point.

Hope that cleared it up at least a little bit.

Thx! Strange thing about the Kindle bug - I assume that’s happening when the PDF is converted to MOBI.

1 Like


Thank you for going into some detail!

To start off, you wrote the book, so whatever you feel belongs in there is what belongs in there…

…however, linked data types seem like a powerful concept that would be valuable to understand.

I have to admit, just adding in the Search data type into the Linked data type is causing some confusion for me.

Is there a Performance or Privacy Principle that wraps up when Linked data types(LDTs) should be employed?

eg. "Use LTDs when you want to prevent lists from being downloaded.

ie. you have Project-Search, Project-Data, Project-Links as 3 separate data types all relating to projects.

Project-Search is the basic info.
Project-Data is the meat
Project-Link contains all the linked lists etc…

I don’t know if that is how it should work at all, just making it up based on my understanding from the rest of the book.


I just want to share the great experience I had with Gumroad support.

I decided to buy the book and paid with Apple Pay. There was, however, an error msg and the book did not download, only the money was taken from my account.

I contacted Gumroad support and got a reply within a minute with a concise explanation of the glitch, informing me that it was solved, and the link to the book just in case.

Wow, that must be some sort of a speed record for solving an issue. Thank you, Gumroad!

Let me start now with the Ultimate Guide. It’s sure what I need on my Bubble journey.


Bought it - love to support bubble & its Community :partying_face:



@anon10873777 The way you describe the three different data types makes sense, but I have a few comments:

  • I’m describing two kinds of Search data types in the book: one is the general practice of keeping any data type that you need to search for as light as possible, and potentially setting up a Data Container (Project-Data) as a satellite data type to contain the heavier fields. Which one is the “main” data type is really up to you - but personally I would see the Search Type as the main and the Data Container as the satellite.
    The second kind of search type is the combining of several types into a single searchable data type, with the typical use case of app-wide searching for “anything” (in the way you can search for documents, spreadsheets and presentations in the same search bar in Google Drive for example). These are of course also lightweight, only containing the data needed for 1) searching/filtering/sorting and 2) displaying the results.
    Sometimes you may find it necessary to use both of these search types in the same app.
  • I don’t really see the Link Data Type as a container for long lists of things (although I’m sure in certain scenarios that’s the right way to set it up), but as a Thing created for each link that you need. So linking a Project with a Client and a User for example, would require creating two links. But again, this caters to a very specific scenario where we want a Project to be linkable to several other data types and include information about that connection (description, date, etc). Privacy Rules come into play here for sure, but again is so dependent on the requirements of your app that it’s hard to set any general rule of thumb for it.

For Link Data Types, that would require going over some questions:

  • which data types will I be linking?
  • should links be stored in one field or can I store them in several (where you may not need a Link Data Type at all)
  • will I be using Links as a search constraint (searching for all Projects for a specific linked Client for example)
  • what kind of information does that link need to store?
  • how are those links affected by privacy/security?
  • how will they be displayed, if at all?

Different answers here can require pretty drastic changes to how these links are set up, so again it goes back to planning, understanding the requirements of each Data Concept and not getting Data Concepts and Data Types mixed up.

Overall, an important point regarding the whole book is to keep in mind not to over-engineer stuff: the book presents examples to try and illustrate how Data Concepts and the actual Data Types can be very different things, not to try and convince you that the examples are best practices that all apps should implement. The most important point in that chapter in my view is to take your Data Concepts through a process that lets you define their requirements and structure the final Data Types based on that process.



I think a course is in order to be recorded on how to do all of this… :slight_smile:

(Would actually be really valuable to see visually how to set all these things up.)

I saw you do some lessons for companies so will discuss with partner about inquiring about those as well.

Thanks a lot once again for the in depth replies!

I am going through the Data Concept → Data Type exercise now.



Hi @petter, fantastic book! I learned so much - thank you.

I wonder, is there a practical limit on how many fields a data type can have?

I’m building a rideshare app, and the biggest data type is Trip where I now have about 200 fields – I want to record many different aspects of each Trip (time, GPS, reviews, etc).

Is 200 too many fields on a data type – will Bubble become slow when my app is live? (In which case I would create additional data types to split up the fields.)

Thanks for your help!


1 Like