Inspiration
I go to UC Santa Cruz, where small restaurants are part of what makes the community feel like home. Behind each one is someone who took a chance on a dream, hoping people would walk through the door.
At the same time, meeting people can be surprisingly hard. You can be surrounded by students and still have no one to text, “Want to grab dinner?”
I started thinking about those two things together: someone wishing they had dinner plans, and a restaurant owner wishing a few more people would come in.
This is what Table 8 is for!
What it does
Table 8 brings eight strangers together for dinner at a local restaurant, giving people a simple reason to step outside their usual circle.
Users share their dining preferences and dietary restrictions, find a table, and explore menu options with help from Gemini. The goal is to make joining dinner feel less overwhelming, from meeting new people to figuring out what to order.
And there is another connection happening quietly: eight people choosing dinner can become eight customers for a small business. They arrive hoping to meet someone new and may leave with a favorite neighborhood restaurant, too.
Supporting local businesses becomes part of making a memory.
How we built it
I built the responsive frontend with React and Vite, using designs I developed in Figma to create a warm, welcoming experience on phones and computers.
Convex manages profiles, dining preferences, dinner tables, and reservations. Clerk handles authentication, and Gemini powers personalized menu suggestions based on users’ dining needs.
I also built reservation logic to track available seats and update reservation status as a table fills, along with development tools to simulate diners and test the group experience.
Challenges I ran into
One of the biggest challenges was making all the pieces work together. A reservation affects more than one screen: it changes seat availability, a user’s dinner plans, and the status of the table.
The menu experience brought another challenge. AI requests could time out, and restaurant menus do not always provide complete ingredient information. I had to think carefully about how to make suggestions useful without presenting them as guarantees about allergens.
I also wanted the experience to feel welcoming. Joining a table of strangers already takes courage. The design needed to make that first step feel easier.
What we learned
I learned how much work lives behind a simple button: authentication, stored preferences, backend validation, reservation updates, and handling requests that fail.
More than anything, I learned to think about both sides of an interaction. A dinner reservation can mean a chance to belong for one person and a new customer for someone else.
What's next for Table8
I want to take Table 8 beyond dinner, bringing people together through activities at small businesses, like pottery classes, rock climbing, and local workshops.
My hope is simple: someone signs up to try something new, discovers a local business they might never have visited, and leaves with people they want to see again.
Built With
- clerk
- convex
- css
- figma
- gemini
- javascript
- node.js
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.