Inspiration The start of DubHacks was a moment where the four of us found ourselves in a room full of a thousand people with the EXACT same interests and hobbies as us. That's a thousand potential new friends — yet everyone remained isolated at their own tables and teams, caught in the monotony of big-kid coding and separated by social conventions (read: social freeze). We wanted to bring back the curiosity and spontaneity of childhood, where meeting someone new felt like an adventure. We recreated our team's shared love of spy roleplaying when we were kids, and wanted this to bring this to DubHacks25 hackers specifically (we got a LOT of them to try it out, and a bunch even ended up making new friends outside their groups!)
What it does Syndicate gamifies and incentivizes social interaction. Guided by a mysterious Mission Control, hackers became “secret agents” — they got their own Secret Agent name, completed cryptic puzzles to find points of interest that we highlighted around the DubHacks25 venue, and met up with hackers that shared their interests to complete their operations/missions together.
How we built it We built Syndicate as a web-based experience using Next.js, TypeScript, Python, Gemini's API, and MongoDB for fast, real-time coordination. We created an onboarding flow where users interact with Mission Control, which is powered by the Gemini API and uses embeddings to match them with people of similar interests. The mission system and live countdowns were powered through a backend that managed missions, presence, and completion events.
Challenges we ran into Balancing mystery with clarity was tricky...we wanted people to feel intrigued but not frustrated by their challenges. We also wanted to make sure that our system could truly and genuinely understand the user via their interests, hobbies, personality, and general vibe of onboarding responses. From this we also wanted to make sure we'd connect them with similar hackers. Designing missions that worked in both small and crowded areas of the venue was another challenge. Building live pairing logic under time constraints and ensuring safe, positive interactions also required careful consideration.
Accomplishments that we're proud of We transformed the competitive and often stressful hackathon environment of DubHacks25 into a playground for connection: complete with secret agents, cryptic missions, and REAL friendships formed on the spot (we even discovered two of our teammates shared an interest in Formula 1, and they ended up watching the race together while coding!). In seeing the hackers of DubHacks genuinely laugh and engage with each other across their teams and strengthen their community, Syndicate reminded us that technology can still make human moments more meaningful. (In terms of building, we were ESPECIALLY proud of finding creative solutions to technical problems, like how we handled upserting artifical seed vectors into the embedding space.)
What we learned We learned that social design is as much about emotion as it is about technology. Creating connection requires thoughtfulness in tone, timing, and trust. We also discovered that PLAY can be a powerful medium for breaking social barriers, and that sometimes, a bit of mystery ican bring people together. :P
What's next for Syndicate We plan to expand Syndicate beyond hackathons to UW at large, and even city events across Seattle. Future versions will include scalable mission packs, event organizer dashboards, and citywide “playgrounds” that keep communities connected long after the event ends!
Built With
- docker
- fast-api
- gemini
- google-sso
- mongodb
- next-js
- python
- typescript

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