Inspiration
Making friends as an adult in Vancouver is hard. Everyone's busy, plans fall through, and it's awkward to put yourself out there. We wanted to fix that, remove the friction entirely and all you need to do is to just show up!
What it does
Gather matches strangers with shared interests into small, real-world events. You answer a few questions — when you're free, what you're into, your neighborhood — and Gather handles the rest. When enough compatible people are found, it creates an event automatically with a venue, time, and confirmed group.
How we built it
- React Native / Expo — mobile app with Expo Router for navigation
- Supabase — auth and the user/event database
- Node.js + Express — backend matching engine
- Gemini (Google AI) — groups users within each time-slot pool using anonymized preference data, with a deterministic fallback if the model is unavailable
- Google Places API — real venue selection based on the group's neighborhood and interests
Challenges we ran into
Getting Gemini's grouping output to be reliably structured was tricky. We added a validation layer with one automatic correction retry before falling back gracefully to a deterministic matcher.
Accomplishments that we're proud of
A fully working end-to-end flow: sign up, set preferences, get matched, get an event with a real venue, RSVP. All in a weekend.
What we learned
AI output needs guardrails. Gemini is powerful but you can't trust raw output — validation and fallbacks made the system actually reliable.
What's next for Gather
Push notifications when your event is confirmed, post-event reviews to improve future matches, and expanding to more cities.
Log in or sign up for Devpost to join the conversation.