Inspiration
We meet people every day, exchange LinkedIn profiles or Instagram handles, and promise to stay in touch. Yet too often, that first conversation is also the last. We believe a meaningful connection should not end with a follow request. That is why our platform goes beyond making the first match. It helps students continue meeting, sharing experiences, and turning simple introductions into genuine, lasting connections.
What it does
Our project helps university students build deeper friendships through regular shared experiences. Students complete a short survey about their interests, personalities, availability, and activity preferences before being matched into a compatible group of up to six students. Using AI and Google Places, the app recommends an affordable activity at a convenient location for everyone. After the first activity, each student can choose whether to stay with the group or join a new one. Once a group is confirmed, the app recommends a new activity every week, removing the pressure of planning and helping members stay connected. The activities begin with simple options, such as social tennis or casual group games, and gradually introduce new experiences as the group continues meeting. Instead of ending after one match, the app creates a consistent weekly routine that gives genuine friendships time to develop.
How we built it
We built Project Alpha as a mobile-first progressive web app using Next.js, TypeScript, Tailwind CSS, shadcn/ui, Supabase, Gemini, Google Places, Framer Motion, Zod, and Vercel.
The system separates responsibilities across three layers:
Deterministic TypeScript handles eligibility, safety, quorum, and compatibility scoring Gemini interprets free-text interests, creates venue search plans, ranks returned venues, and explains recommendations Google Places provides factual venue information such as names, addresses, opening hours, photos, and price data
Gemini is only allowed to rank venues returned by Google Places. The backend validates every response and rejects any recommendation that does not match a returned Place ID. This prevents the model from inventing venues or venue details.
Challenges we ran into
One major challenge was deciding what AI should control and what needed to remain deterministic. Matching, safety, eligibility, and quorum cannot depend on unpredictable model output, so we implemented those as strict code-based rules.
Another challenge was preventing hallucinated venue information. We solved this by requiring Gemini to rank only candidates returned by Google Places, validating its structured output with Zod, and checking every recommended Place ID against the original API response.
We also had to design a social flow that balances trust and privacy. Students begin anonymously, identities are revealed in stages after the group accepts, and first meetups are restricted to public venues with minimum group sizes.
Accomplishments that we're proud of
We built an interactive end-to-end prototype rather than a set of static screens.
The demo supports onboarding, compatibility matching, Gemini tool use, live Google Places retrieval, venue rerolling, group acceptance, quorum, staged identity disclosure, group chat, meetup confirmation, and post-meetup feedback.
We are especially proud that the system produces explainable matches and grounded venue recommendations while keeping safety-critical decisions outside the AI model.
What we learned
Gemini is effective at understanding free-text preferences, translating them into search criteria, comparing venue options, and explaining why an activity fits a group. However, safety rules, eligibility, factual venue data, and final validation need deterministic systems and trusted APIs.
We also learned that reducing friction matters more than giving users endless choices. Students often fail to meet because organising requires too many messages and decisions. A strong product should move the group toward one realistic plan, not present another feed to browse.
And get more team members
What's next for Project Alpha
The next step is to test whether repeated matching leads to repeated real-world attendance.
We would expand university verification, improve safety and moderation tools, add trusted-contact check-ins, support more campuses, and use completed-meetup feedback to improve future group compatibility.
Over time, Project Alpha could become a persistent social system that regularly creates small, relevant hangouts around a student’s schedule, rather than relying on them to search, organise, and coordinate every meetup themselves.
Built With
- css
- javascript
- plpgsql
- typescript

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