Inspiration
We saw that a lot of people genuinely struggle with networking, not all people have the knack for it, the energy, know how to do it, or even simply have the opportunities. LinkedIn for a lot of people feels like an endless slog, sending out hundreds of cold connections can be demoralising when only 2 of them get back, and even after all that, the connection leads to nowhere.
That's when we thought, why not make cold networking more warm?
What it does
Universal removes the guesswork from networking. It's a social platform where you get to state what you want, and what you offer, and it uses a proprietary matching algorithm to show you people whose goals are aligned with yours. They'll benefit from you, you'll benefit from them. This ensures that you can get a much higher hit rate when you are cold connecting with people.
On top of this, we have an Omegle style video calling service. Perfect for those who are tired of staring at blank screens waiting for the connection to be accepted. It will thrust you into an instant coffee call with whoever is online, completely casual, if there's nothing to be gained - you skip. Otherwise you can gain instant value, immediately chat with someone who is willing to connect - like a networking event at your fingertips.
How we built it + Challenges we ran into
We begun with the basics and started on what we both knew best - Next.js and FastAPI. We very quickly got a prototype working locally - but it had 0 polish. After that, we just began working on polishing every feature - sign in, database, matching algorithm, UI, network graph and videocalling.
We ran into a plethora of problems. The main one was our seemingly incompatible tech stack. We had to somehow make use of Python and Rust in the same project. In the end it turned out not to be as bad. We could simply have some parts of the API handled by the FastAPI + Python combo and others by Rust + Axum.
We also both threw ourselves into completely new technology. Interfacing with SurrealDB, getting functional video calling between 2 devices with WebRTC, all completely new and foreign to us. We slogged through it, and although at times it did get incredibly frustrating and emotions ran high with both of us on little to no sleep, we managed to get through it and finish most of what we wanted.
Accomplishments that we're proud of
AlQavi - "The matching algorithm and the API to serve that to the frontends is probably the thing I'm happiest with. It works a lot better than I thought it would and learning how to expose the localhost with ngrok was pretty cool too. Also the node graph was something completely new to me and I'm happy I bothered putting it in."
Abdullah - "Learning about WebRTC and implementing a video call feature with WebSockets was much more challenging and rewarding than I had anticipated. Also the globe looks cool,"
What we learned
Communication!!! There were a few key moments where it would've saved time if we just went "hey can you help?". We both got very stuck in immediately but towards the end we were talking pretty much the entire time while coding.
Scope of Project - We both wanted to do a lot of features, and it took us a while to kinda cut it down to what really mattered and what we could realistically implement. I think there is a lot of improvement to be made in the intuition for what a project should have in terms of features.
What's next for Universal
Speaking of, here are those features we didn't have enough time for:
GeoTags - We thought it might be very convenient and cool if the platform could somehow know you attended a certain event or conference, and recommend people that also attended - there's always that one person you get along with well but forgot to ask for their contact info.
BERT Embeddings - Having embeddings for the tag system we use would let us expand the matching algorithm massively. Tech Stacks that interact with each other would automatically be recognised as being related, and adding a new tag or a variation of an existing tag (Python3 instead of Python) would make little to no different to the algorithm.
ML Scoring System - We also wanted to let users essentially rate how each connection was, and an algorithm would learn what the user is specifically looking for even if they can't perfectly describe it with their tags - every person would have a tailored matching algorithm with constantly updating weights.
Messaging System - In the future we would like to also implement a fully fleshed out real time messaging system to facilitate easy communication.

Log in or sign up for Devpost to join the conversation.