Inspiration
Planning dinner in a group chat takes longer than the dinner. Someone has to pick a place, call for a table, chase replies and work out who owes what. We wanted to hand that whole job to an agent.
What it does
Rendezvous is an iMessage agent. Mention it in a group chat with something like "dinner tonight, under $15 each." It picks the spot that's fairest for everyone's travel time and calls the restaurant to book a table. Then it texts each person when to leave and splits the bill afterward.
How we built it
- Core (TypeScript): the planner, message parsing and conversation engine, shared by everything else
- Agent: runs on Photon for iMessage, with Grok for language, Google Routes for travel times and Capital One's Nessie API for payments
- Call bridge (Python): Twilio, Pipecat and Grok Voice place the reservation call by phone
- Website: tablefor.us, with a live demo that runs the real engine in your browser
Challenges we ran into
- Our Photon line couldn't carry group chats, so we relay 1:1 texts between everyone in the plan instead.
- Google's Routes API ignores arrival time for walking, so we work out departure times ourselves.
- Nessie stores amounts as whole dollars, so the exact split lives in the agent and Nessie records the transfers.
Accomplishments that we're proud of
The whole loop works end to end: one message leads to a booked table, a departure text for each person and a settled bill. We're also proud that the planner optimizes for fairness, not just the closest spot for one person.
What we learned
Getting the technology to work was the easier part. It was harder to make an agent behave well in a group: knowing when to ask, when to wait and when to just decide.
What's next for Rendezvous
- Real group chats on a dedicated iMessage line
- More cities beyond Ithaca
- Real payments in place of the sandbox
Built With
- capital-one
- fastapi
- google-maps
- google-routes-api
- grok
- grok-voice
- imessage
- nessie
- node.js
- photon
- pipecat
- puppeteer
- pytest
- python
- react
- spectrum-ts
- tsx
- twilio
- typescript
- uvicorn
- vite
- vitest
- xai

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