Inspiration
We've all been there: you notice someone on the subway, in a coffee shop, or at the library, and for a brief moment something is there, then they're gone. Traditional dating apps optimize for discovering new strangers, not reconnecting with someone you already encountered in real life. The spark already happened; we just had no way to find each other again. That's where Lost&Found came from.
What it does
Lost&Found lets you describe a missed-connection moment: when and where it happened, what you noticed, and what stood out. If our matching system finds a strong candidate, both people are notified. Personal details are only shared after mutual confirmation. Once both users confirm, each receives an automated phone message with match details and a personalized date idea.
How we built it
We built Lost&Found with Next.js (frontend + API routes) and Supabase (auth + Postgres). For matching, we use Transformers.js with Xenova/all-MiniLM-L6-v2 to embed descriptions, apply pronoun swapping to reduce first-person perspective mismatch, and query similar moments through a Supabase RPC function using cosine similarity with a 0.7 threshold plus time/location constraints. When both users confirm, we create a match and send phone notifications through Photon; date ideas are generated with K2 Think V2 (with a deterministic fallback idea if needed).
Challenges we ran into
The hardest part was matching quality. People describe the same event very differently, so getting pronoun normalization and confidence thresholds right took a LOT of iteration. Messaging reliability and safety constraints added another layer: we needed automated outreach without over-sharing, and strict mutual confirmation before contact details are exposed. Building all of this as a rookie, cross-university team in a single weekend was also a major challenge.
Accomplishments that we're proud of
We're proud of the perspective-aware matching approach (embedding + pronoun swap + spatial/temporal filtering), and of shipping safety-first logic from hour one: mutual confirmation before sharing contact info, no open browsing feed, and expiry/cleanup of stale moments. Most of all, we're proud we shipped an end-to-end working product in one weekend.
What we learned
Vector similarity is powerful, but product constraints (privacy, confirmation flow, messaging reliability) matter just as much as model quality. Designing for safety early improved both trust and UX. We also learned that the strongest hackathon products often come from personally felt problems. Every single one of us has had a missed connection and that's what kept us going through the night.
What's next for Lost & Found
Next steps include improving match quality with richer preference signals, strengthening ranking and false-positive controls, expanding client platforms (iOS/Android), and supporting additional use cases beyond dating, like friendship and networking. Because missed connections aren't just romantic. They're human.
Built With
- chatgpt
- claude
- css
- github-copilot
- k2-think-v2
- next.js
- perplexity
- photon
- postgresql
- supabase
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.