Matchmaking through Embeddings

Making visceral connections at events through embeddings.



At TreeHacks 2024, myself, Freeman and Leo hacked together a matchmaking graph of everyone at the event. Our ethos was imagine, at the beginning of the event, we put all 1,800 hackers in one room and asked everyone to make a new friend. What are the odds that you meet someone incredible? Not too bad. But to discover and cultivate a genuine connection, it takes more than just luck. And why leave it to chance?

We used custom NER models to extract individual information from Slack under the #team-searching channel, then embedded and reranked to get the top n connections for each participant. Using a graphing framework called ngraph, we were visualize these connections in 3D space.

Some of the largest problems we faced in these 48 hours were:

  1. How do we extract the most useful information from Slack to avoid noise? NER
  2. We have a lot of data, how do we scale? ngraph converts this complex data into a 3D representation with binary, with interactions done with physics simulations
  3. Why have a visualization? we are building a matchmaking engine, and want to help people search for their top matches. a graph is the most intuitive way to understand what we are building.

When presenting our graph, we rarely got asked the question How did you build this and were mostly asked How can we implement this into our system. We decided to make a short guide and tweet for those who were interested, but that interest far surpassed any expectation.

In parallel us making this release, the Socratica Symposium was coming up, which is a collection of makers in all forms. In our mission to bring the thinkers of Waterloo together, we wanted to connect as many of them as possible. So, we built Matchmaking, Socratica's first open source software.

Alongside the graph, we wanted to create a simple interface for people to look up their closest matches and why they were most similar. While we loved the graph, at the user end it strayed away from our larger goal of building these connections. The graph was also hard to navigate on a phone, so we wanted to make this as simple as possible.


We have composed a comprehensive guide in to how you can build event graphs and matchmaking, as we believe that this should be the new standard at large collectives of thinkers and makers.