BUMBLE API-based Prototype

Sam Slattery

This project was completed by accessing the dating app Bumble’s API. The goal was to gain some knowledge as to how an API functions, as well as how we may access and use it. Our team was to create our own platform, based on a modification of Bumble’s code. We were challenged to make some kind of commentary on how various digital platforms can structure an avenue of public discourse. From there — we were to imagine something that could reshape this discourse by altering the platform’s functionality.

We started by looking at Tinder, but could not find their API. Bumble does not have a public API, but there are unofficial, successful community made ones.

There were two main steps before we could access the API. While no one in our group had much coding experience in Javascript, we managed to make it work. Thanks to the hard work of our group member, Luke, we were able to install the correct packages and login to Bumble in Terminal, based on Github repositories posted online.

After Luke’s initial breakthrough, next, we were interested in Bumble’s matching function. We found out that it was called getEncounters(). Asha, another group member, tackled this. She discovered that the API uses promise functions, which helped her troubleshoot. Eventually, she found that nesting the functions together within getEncounters worked perfectly. Finally — we were in.

Asha put together a guide so that we could all catch up and login. The rest of the project from here was individual. We were to make a prototype based on this initial success, with our own twist on how we could change the way matches work.

My prototype, if fully functional, would retrieve profile images, integrate facial/body recognition to identify where the person is, and then pixel sort the rest of the image for average hue. The goal here was to match based on a rough indicator of ‘vibe’. Is this a bright bubbly person, who spends lots of time in sunshine? Are they mellow and laid back, with most of their pictures in shades neon blues, pinks, and purples? The program could either match people based on similar hues, or opposite ones, as a preference. You would receive no other information, except perhaps a bio, whereas you could usually base your decision on visual indicators from both the person and background.

From the beginning I realized that I would need to be able to override their sorting criteria, in order to input mine as a function of RGB values. This step of the prototype was a reach, based on my complete lack of Javascript knowledge. However, I wanted to make an attempt at a prototype.

My prototype relied on combining a few Github repositories, since many of the functions necessary for this to actually work were outside of the scope of my knowledge. The idea was to use CANVAS to create a container for the image link provided by Bumble’s API. Then, after fetching the image data, I incorporated a function called getAverageColorAsRGB to modify the container.

After that, a more lines were added in case the browser doesn’t work.

Despite the code appearing functional to me, it does not perform the intended job. It fails to host the image for CANVAS in a workable format. My conclusion to troubleshooting is that the getAverageColorAsRGB function cannot fetch the image data from the link sourced from Bumble. There are programs online that will find the RGB values of a JPF or PNG file. However, I could not successfully incorporate the Bumble imagine into the Javascript. Therefore, I could not manage to make an average hue value for each profile.




Love podcasts or audiobooks? Learn on the go with our new app.

How To Create A Custom Laravel Nova Tool

Create custom Observables by wrapping existing APIs in Angular 7

JavaScript overrides made interesting -Part 1

Static Analysis of JavaScript applications with SonarQube

How to validate a CSV File in Node.JS

Create a COVID Map with Vue & Google Maps

Build A Command Line Application

Authenticate APIs with keycloak Quarkus distribution.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sam Slattery

Sam Slattery

More from Medium

Computer Games — A Personal History

Axelar is the future of blockchain.

Two Mexican Immigrants’ Journey: The History of Mexican Immigration in the U.S.

Reflecting on 2021