Forum Academy Marketplace Showcase Pricing Features

[Early Bird Price only 5$/month] - RAPI - Easy AI Powered Recommendations Engine

Hi Bubblers !

I’m proud to announce my new plugin RAPI - Recommendations API!

RAPI_LOGO_MENOSBG
Bubble plugin page | Example Page | Instructions page

RAPI is a new plugin that allows you to implement AI easily on your Bubble app in order to get better recommendations for your users.

With RAPI you don’t have to pay anything but the plugin itself monthly, no usage limits, no extra charge just easy setup :smiley:

I’m offering Early Bird Price of only 5$/month, similar tools cost way more (Recombee 99$) are not integrated into Bubble, and require you to pay to an external provider!

How does it work?

Imagine you have an online shop, every time a user interacts with a product you save that interaction using RAPI, that interaction can be good (like the user setting a product as favorite) or bad (like a user dismissing a product), you reflect that sentiment setting the EdgeDistance to smaller numbers for good interactions and higher numbers for bad interactions.

Registering an interaction example

Every minute, the model for your app’s recommendations is calculated in RAPI’s server and you can start asking for recommendations.

Asking for recommendations it’s easy too, you just have to tell what entity do you want to recommend something to and what type of entity do you want in the results, in our online shop example this could be Entity = João, EntityType = User, ResultType = Product - this way, RAPI will send you back the IDs of the products that are more suited for your user João.

Asking for recommendations

RAPI_GetRecommendation

How do you use the results you get back from RAPI ?

It’s easy, just Do a Search for the type of thing that you asked for in the “Response type” when making the GetRecommendations request to RAPI, and aply a filter using as a constraint all things that have their unique ID contained in the result you got from RAPI, see image for better understanding this.

Making use of the result you get back from RAPI

If you’ve requested a result type of “User” for exemple, RAPI will send you back the IDs of the users that are the best recommendations, to use that list do as seen below:

How to get started

  1. Subscribe the plugin in your Bubble app
  2. Go to https://jpdom.bubbleapps.io/version-test/rapi_register to register your app and get the API Key
  3. Start adding interactions in your app, please beware that there’s no separation between Development and Production in RAPI, what you can do is register two appIDs in the above url one with “YourAPPID_DEV” and another with “YourAPPID” and then use dynamic expressions to register either in production or development.
  4. Start getting recommendations

Recommendations get better with time and the more interactions you register the better they will be, you should try and register as much variety of interactions as you can, for example, a user liked a product, a user friended another user, a user subscribed to a category, a product belongs to a category…
The idea is to build a network of “connections” in RAPI that will represent your users behavior and your data structure.

Hope you enjoy this plugin! As usual, if you want a free trial (one week) I can arrange that, just comment below and I’ll be in touch :smiley:

Bubble plugin page | Example Page | Instructions page

15 Likes

Interesting idea, nice job!

1 Like

Thank you :slight_smile:

Update I’ve made some changes to the backend and the API is now even faster (you get your results in about 400ms!)

Nice Bubbling :smiley:

This plugin will cost 9$/Month but for now:

Hi # Joao1997

i try use your plugin, but i not understand the value of some fields. Maybe you can give us a editor page with example that we can better understand how it works?

1 Like

Hi @se.belobrov! Thanks for the subscription! Please visit https://jpdom.bubbleapps.io/rapi_instructions there you’ll find the screenshots and explanations :smiley:

First, I want to thank you for your great job.

i seen this screenshots, but understand without an example it was not easy.

i think finally i did it :slight_smile:

But still any questions:

  • I do not fully understand why you need a field “EdgeName”? What does this affect? http://joxi.ru/ZrJzqYWTMV4jRr
  • Can you return the score for each field in the answer so that I can sort them by this criterion? Now, when I repeated your example, I only get the filtered values ​​corresponding to the RAPI response. But they are not sorted (sorted in the order in which they are in the database). And I have no way of sorting the result in the same way as in your answer.
    It would also help me understand if I am using the “Edge Distance” value correctly. But for me it is not completely obvious. I use the following weight of points for user actions: purchase – 10; good mark – 30; bad mark – -20. Sounds like it’s right?
1 Like

Hi again !

The edge name doesn’t have an impact yet in the future I want to add a way for you to visualize the graph of your app and when that time comes the edge name will be useful (also useful for debugging).

About the sorting, the results come sorted already from the most meaningful to less meaningful but I understand your issue and I’ll try to fix that !

About the edge distance, think of it like a distance really, if two things “like” each other they are close to each other (so the edge distance should be small - positive connection) , on the other hand if they dislike each other they are further apart (so the edge distance should be bigger- negative connection).
**Actually if a user gives a bad mark to something for now you should not register the interaction because although you can set a big edge distance the AI will still sense a connection between the user and that product or whatever and still recommend it **

Use the edge distance just to rank positive interactions like a purchase should have more impact than just a click so you might set the purchase with an edge distance of 1 and a click with a distance of 10. If a user dislikes something simply don’t register an interaction.

Hope I’ve made myself clear :smiley:

Feel free to ask !!

Regards,

João Domingues

thanks for the answer.

This will be a great feature.

Yes, this problem currently does not make it possible to implement this plugin. I need to sort the results for the final output (not just the result of the API return).

Now I finally understand what edge distance.

Only I didn’t quite understand why not register bad mark (negative interaction with the maximum value)? After all, if users often give negative ratings after purchase, then it is obvious that this product should be reduced in weight in the recommended search results. Is not it so?