Brain Teaser - Social Media Engagement on Bubble

Hi there! There’s already great advice in this thread from Bubblers who are more experienced than myself - I decided to answer this more in the way you asked - if I HAD to build this in Bubble, what would I do?

  1. Handling user reactions - I would create a separate datatype of ‘Likes’ with fields for user, reaction type (an option set), date, etc. A user reacting would create a new Like, but would also increase a field of type number I have on the Post itself by +1. This way I’m not having to run a count every time. I’d build in conditional formatting so if it increased to over 1,000 reactions, it would display as 1.2K, and more than 1 million would be 1.2mil, to limit having to accomodate number more than 4 digits.
  2. This is where utilizing a 3rd party search database like Typesense or Algolia would come in - and I don’t see how this is scalable without it. I would do an API call against the Likes stored in this database, and have them displayed. Since the unique reactions are already stored in this data, displaying that accordingly.
  3. Typesense, and I imagine Algolia, has some ‘matching’ algorithms based on matching common/similar numbers and words. Ideally with some sort of an onboard profile process, you have this data saved in a way that is easily parsed and matchable based on a percentage of similarity.
  4. All of the above.

Challenges: You’re going to run into issues with WU consumption; creating a Like, plus the subsequent 3rd party database push, is going to be at least 3WU each time something is reacted to, if not more. Without some powerful monetization tools, you’re going to have a tough time staying ahead of the cost of running it on Bubble. This might be able to be figured out by using a separate database entirely - although I know many devs will say once you get into external DB territory, you’re leaving behind many of the reasons for staying with Bubble at all (since there are other front-end web builders).

Again, I’m not saying this is the correct answer, and not being contrary to the great answers above, but I did want to give some thought to the problem and that’s what I came up with.

If you’re interested in Typesense or Algolia, I highly recommend @zelus_pudding Omnisearch plugin: 🔍 Omnisearch: Integrate Algolia, Typesense, and friends - #76 by zelus_pudding . It made integrating with Typesense super easy!