Inspiration
Cooking should be a labor of love, not a labor of logistics. However, for small, home-based caterers, tracking orders, planning quantities, labeling containers, and coordinating deliveries consumes much of the day. Further, these tasks are managed through multiple tools such as spreadsheets, messaging apps, social media, and email. Growing up in family-owned catering businesses, we saw this firsthand.
What it does
We built Dishpatch to bring these tasks together through iMessage, where many caterers already communicate with customers. It generates order forms and calculates a production plan tailored to actual recipes and order quantities. Dishpatch also prepares delivery labels for printing and drafts customer updates. Updates can be retrieved through both the iMessage agent and a dashboard. In essence, Dishpatch handles repetitive coordination while keeping caterers in control of their business.
How we built it
We built the backend with Node.js and TypeScript, using Neon PostgreSQL to store data, Drizzle ORM to query it, and Zod to validate inputs. Fetch.ai’s uAgents framework coordinates the agent’s responses and actions, such as managing orders and calculating prep quantities. Photon’s Spectrum framework connects the agent to iMessage so caterers can handle these tasks through text.
Notability was incredibly helpful for accelerating our ideation process. We started by using the recording functionality to record our brainstorming and used the smart notes to summarize and find key takeaways. We then moved to using the notebook itself, collaborating as a group to write and draw ideas on our notepad. Through highlighting, colors, and even external images, we were able to organize our plan.
Challenges we ran into
One architectural decision we thought about was separating what the agent understands from what the system is actually allowed to do. To do this, we separated message interpretation from backend rules. The agent chooses which tool to call, while the backend checks ownership, calculates quantities and totals, and enforces order status changes. Thus, the agent can't report success by inventing an order, price, or successful action.
Accomplishments that we're proud of
Maintaining context across conversations was a major challenge. A reply like “12” could be a quantity, a menu selection, or an answer to a setup question. We added persistent conversation state, clearer validation, date parsing, and simpler commands so users could follow up without repeating themselves. Connecting our local services to iMessage also meant keeping public order forms accessible, recovering from process restarts, and preventing duplicate customer notifications. Handling these issues made the full workflow more reliable.
What we learned
To design a feature-rich product, we also explored turning ingredient requirements into a grocery basket with various providers. Though we weren’t able to get API access for online grocery services, we mocked the shopping flow to demonstrate the potential for Dishpatch. Our biggest lesson was that a useful agent needs reliable context, accurate calculations, and confirmation that its actions succeeded. Those foundations help Dishpatch turn incoming orders into clear instructions for what to cook, package, and tell customers.
What's next for Dishpatch - Catering Agent
One next step is connecting calculated ingredient requirements directly to grocery providers, allowing caterers to move from orders to a ready-to-purchase shopping basket. We mocked this workflow during the hackathon as we did not have API access for grocery stores. With that, we can implement automated ordering and checkout, and could turn it into a fully integrated experience. More broadly, we see this extending beyond food. The same problems (managing customer requests, coordinating operations, tracking orders, and communicating updates) exist across many small businesses. Our long-term goal is to adapt the platform into a conversational operations assistant that helps small business owners spend less time on repetitive coordination and more time on the work they actually care about.
Built With
- drizzle
- fetch.ai
- neon
- node.js
- photon
- postgresql
- python
- spectrum
- typescript
- uagents
Log in or sign up for Devpost to join the conversation.