Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for Sprout
About the project
What inspired us
The first weeks on campus are loud about “put yourself out there,” but there’s no real map for who to meet or how to start the conversation—especially if you’re not already in a hyper-networked major. We wanted something that felt fair, specific, and human: not another feed, but a way to grow a real network from who you actually are.
How we built it
Sprout is a full-stack web app on Next.js (App Router) so the UI and API routes live in one repo and deploy cleanly to Vercel. We use Supabase for PostgreSQL, Auth, and real-time pieces like messaging. For intelligence we lean on the Gemini API: ranking and explanations on Discover, personalized icebreakers, board and org relevance, chemistry-style match blurbs, resume parsing, voice transcription for the coach, and multimodal “Lens” so a photo of a flyer can be read in context with the student’s profile. We also wire function calling in the coach so the model can draft actions against real data when it makes sense.
What we learned
- Product: The best demo moments are concrete—one sentence that proves the AI read two people or one poster, not generic “AI matching.”
- Engineering: Keeping API keys on the server (Route Handlers) and passing only what the client needs is non-negotiable for anything that touches LLMs.
- UX: Small things dominate trust—correct names in generated copy, the deck actually advancing after “send,” and valid HTML (no nested buttons) so hydration doesn’t bite you on demo day.
Challenges we faced
- AI + UX edge cases: Generated text had to stay tied to the right person; we had to separate “message to the person on the card” from “message to a mutual for a warm intro,” and fix race conditions when profile data refetched while a modal was open.
- Motion + lists:
AnimatePresenceand card exit animations fought with state resets until we aligned “send” with a clear fly-off-then-advance flow. - Hackathon reality: Docs, model names, and typings move fast—we balanced
@google/generative-aiquirks with a working, shippable demo on a short clock.
Sprout — where campus connections take root.
Built With
- gemini
- next.js
- postgresql
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.