ChickenTinder – Project Story
🌟 Inspiration
My wife and I kept wasting date-night arguing over where to eat.
If Tinder can match people, why not match restaurants for couples and spare the “anything is fine” loop?
📚 What I Learned
- Couples want a private invite code, not public links, for pairing accounts.
- Showing distance + price range on the card reduces blind swipes.
- Real-time match reveal is more exciting than periodic refreshes.
🛠️ How I Built It
| Layer | Tech & Flow |
|---|---|
| Front-end | React + Vite; Tailwind for swipe cards. |
| Auth & Pairing | Supabase Auth; partner link via UUID invite code. |
| Data | OpenAI o4-mini uses web search to pull restaurants by ZIP; cached in Supabase. |
| Swipe Logic | Each heart/nope writes to preferences; SQL view surfaces mutual likes. |
| Chat | Supabase Realtime channels for live messaging. |
| Hosting | Netlify CI/CD and preview deploys. |
⚠️ Challenges
| Issue | Fix |
|---|---|
| Restaurant API rate limits | Local cache & debounce queries. |
| Syncing swipes across partners | Realtime listeners with optimistic UI update. |
| Confusion between “food type” vs “specific spot” | Added filter toggle: cuisine or restaurant. |
🚀 What’s Next
Table-booking integration with OpenTable / Resy.
Group mode – extend invites to friends for double-date consensus.
ChickenTinder aims to turn the nightly “what’s for dinner?” fight into a fun, one-minute swipe game for happier couples everywhere.
Built With
- netlify
- openai
- react
- supabase
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.