How to use computers to make meaningful connections between people in real life?
Union is a small startup from Durham NC, focussed on the goal of using computers to make meaningful connections between people in real life. They’ve opened a couple of member’s only clubs that run on that very premise. Once dubbed “the social network that is really social”, union member clubs provide an unparalleled experience to its members using technology as a main driver.
We took part in the project from the very first beginning, laying out the infrastructure and making decisions that drove the rest of the development forward. We were tasked with building the React app for staff that empowered them to make connections between people. We also handled the development of Union’s app for Android devices. This app was to be the main portal to the club, and handled all user interactions with the rest of the system. Last but not least, we have aided the main backend architect in developing the API to be used by all of the Union’s infrastructure. The API was written in Node.js, and deployed as host of serverless lambdas, building a flexible microservice infrastructure.
The core engine of the entire system was focused on measuring the possibility of two individuals to find each other interesting socially. We developed the interface to a natural language processing AI that run all the data shared with us by the members, and calculated the potential of any two members to create a meaningful connection.
The work took just under 2 years, going through cycles of new feature development and improvements/maintenance stages. The software included many external connections to 3rd party services, and 100+ microservices running together to provide a robust API needed to drive the experience.
The project went into production, and active inside the first clubs within 4 months of starting the development. Iterative approach took over after that, and we worked both supporting the production environment and delivering new features, moulding the MVP into a fully fledged system.
The core function of Union systems was to provide a way to facilitate connections between people that have a lot in common with each other. The model required to take into consideration the uniqueness factor for each shared interest. Let’s assume 80% of the union members were interested in travel, and almost everyone was connected by that interest. But only 3 people were interested in traveling to the rural Turkey which is a much more specific and unique interest, hence these connections had to be valued more than connections that are more common.
The system fetched measurements of such interests from an AI/NLP model, and had to process these as close to real time as possible, updating the value of how common the connection is. This required some out of the box thinking and precise optimization to handle this case quickly. If we tried to calculate all connections every time for 2,000 users, it would require 400,000 calculations each time a new input was available, which was not scalable. We used a lot of optimization and data modeling to reduce this significantly so that the system could do this in a matter of minutes. We first analyzed the data and wrote few rules that excluded a lot of users from recalculations when the weight of the interest changed. We have than split the calculations into batches and optimized this part of the system. Eventually, we were able to achieve scalable, close to real time effectiveness in recalculating connections.
API and backend for the entire system, written in Node.js serverless lambdas, hosted on AWS. Using mongoDB database, and connecting to many external APIs, including AI NLP, Intercom, Auth0, Biostar, Square POS.
Android and iOS mobile apps delivering the Union experience to the members. Android app was implemented in Kotlin, and iOS app was developed in Swift, using the latest industry standards.
React web application developed to enable Union staff to deliver the experience to members.
Montrose made a great addition to our team with a robust skillset, demonstrated experience and a communication style that made them feel tightly integrated. I would work with them again in a heartbeat.