Inspiration

36% of all restaurant owners are immigrants in the US, and 97% of those are small, home-owned businesses chasing the American Dream.

Growing up and raised in Taiwan, Aaron watched his uncle run his hotpot restaurant business from behind-the-scenes: the kitchen room segregated from the rest of the restaurant, the trucks unloading raw ingredients early in the morning, and the logistics behind making every process connected.

Just like many other small-restaurant owners, Aaron's uncle, who works as head chef, also takes on logistics, finances, and operations management roles for the restaurant simultaneously.

With the advent of competent AI agents, what used to take hours for supply calls and contracts, days of accounting, weeks of menu tailoring, and endless marketing, can now be achieved all within one unified system chain, allowing multi-role restaurant employees to focus on tasks that demand the most authentic human touch: cooking.

And that was what we sought out to build.

What it does

Resta (Back of House) is a back-of-house operating system for any restaurant, demoed on the fictional fan-favorite: Pho Berkeley.

A small restaurant's back office is split across the walk-in, invoices, DoorDash and Uber Eats payouts, prep lists, the menu, and Instagram. The AI agent sees it all, weaves it together, and solves problems that cross those departments.

Problems show up in one place and cost money in another:

  • A supplier raises brisket, four dishes get more expensive, and the menu price never moves.
  • A bill overcharged and still unpaid.
  • An inventory stock runs low, and nobody refills it in time for the next customer round.

Resta joins those records in code, not in a chatbot's memory. The model can draft, send, dial, pay, price, publish, and move cash, all unified in one system.

That is, upon granted human approvals, of course.

How we built it

Stack

Next.js 16 (App Router, React 19, TypeScript, Tailwind CSS v4) on Vercel, with Supabase (Postgres) as the system of record and Convex as a live layer that pushes updates to open screens. Everything that touches data runs on the server: the browser never talks to the database, and the server uses Supabase's secret key behind an owner login.

One rule throughout: code does the math, AI reads and explains, the owner decides

  • Plain, tested code does every number that matters: matching invoice lines to ingredients, catching math errors and price jumps, reconciling delivery payouts against our own orders and the bank, the 14-day cash forecast, prep forecasts and restock plans.
  • Claude (Anthropic's Opus and Sonnet models, with structured outputs validated by Zod) does what code can't: reading invoice photos and PDFs, customer receipts and emails; writing each tab's summary, searching queries on the web via brave API, designing marketing and promotion posts; and running the assistant behind chat, voice and the "Ask AI" panel.
  • Nothing irreversible happens without a tap. Approving an order, sending an email or moving money goes through one action log: every action is proposed, approved by the owner, then run exactly once, with limits re-checked in code before it runs.

Integrations

  • Capital One Nessie: the restaurant's bank account. Conducts checking and savings, deposits of delivery payouts, reserve, transfers to savings, undo.
  • Gmail: a Google Apps Script in the restaurant's Gmail forwards new email to the app. Supplier invoices are read and added on their own, and catering requests wait for the owner.
  • Wajo: AI phone calls to suppliers (for example, disputing an overcharge) that the owner approves first.
  • Cartesia: voice, so the owner can talk to it from the kitchen.
  • Buffer: drafting and publishing Instagram posts, and pulling food trends and supplier leads, publishes a rendered high-definition photo with editable caption to Instagram.
  • Apify: USDA AMS wholesale quotes (kevinserver24~usda-ams-market-news), ThomasNet supplier leads (zen-studio~thomasnet-suppliers-scraper), Yelp dishes (api-ninja~yelp-ultimate-scraper), Instagram (apify~instagram-search-scraper), TikTok (clockworks~tiktok-scraper).
  • Brave Search: Image search for marketing photos through search query API access with Claude's decisions. sharp resizes it into the Supabase bucket.

Architecture

Browser (Next.js App Router)
  → owner session cookie
  → API routes and server components
       → Supabase (all business data)
       → Claude (agent + structured tasks)
       → Wajo MCP (calls, after approval)
       → Cartesia (voice)
       → Nessie (simulated bank)
       → Buffer (Instagram)
       → Apify (market + trends)
       → Brave (photos)
       → Convex (topic versions only, after the Supabase write)

Gmail Apps Script → /api/inbound/email
Vercel cron       → /api/loop/tick

An autonomous loop

It checks the data on a schedule, opens a "case" when it finds a problem (an item about to run out, a price jump, a missing payout), investigates it with read-only tools, and leaves a proposal for the owner. It never acts on its own.

How we kept it honest

443 automated tests across 40 test files, 26 SQL migrations with row-level security, and duplicate protection so the same invoice, payout claim or catering order is never counted twice.

Mobile App

Sidebar order is the product map. Each section has its own color. Cmd/Ctrl+K is a command palette. A floating Ask AI panel sits on every authenticated page and calls the same agent with the analytics digest on screen.

Challenges we ran into

Counting the same thing twice. Restaurants often get the same invoice by email and again on paper with the delivery, and a catering order can also be paid at the register. Counting both inflates costs and sales. Resta recognises a repeated invoice (same supplier and number, or same date and total) and adds it only once, and an accepted catering order becomes a sale only when it's paid: recorded here or at the register, never both.

Keeping the AI away from the math. In testing, the assistant subtracted two payout amounts itself and said a payout was \$20 short when the gap was \$120. We made it a rule: every number comes from tested code, and the AI only explains and quotes those figures, never calculates them.

Linking Apify scraped data across agent MCPs. Having cartesia voice agents parse information and match across various sections, then having Claude suggest menu items/ingredient alternatives while bridging towards marketing, accounting, and pricing.

Web search query and API chaining across various agents. Combining brave image search api tool callings with claude's image selection and download action, then connecting to Buffer's instagram connector handle to generate mock post and captions, then Claude's handoff to publishing, took about three hours of pure integration to have a working demo.

Automating without adding noise. An assistant that flags everything just becomes another inbox. Letting customers order by email sounded useful until we pictured it in the middle of a dinner rush, so Resta takes catering requests (events, groups, large orders) and answers everyday orders with a polite reply pointing to phone or online ordering. The same goes for alerts: one line with the count, details only when the owner opens them.

Accomplishments that we're proud of

Our biggest accomplishment is building Resta into more than just another restaurant management dashboard. Instead of creating separate AI features that operate independently, we developed a central AI agent that connects information across restaurant operations, from inventory and purchasing to sales, finance, and even marketing.

This allows Resta to maintain a unified understanding of the restaurant, continuously updating its context as new information and changes come in. Rather than being just another tool, Resta can understand problems in the context of the entire business instead of treating each issue in isolation.

We're especially proud of building Resta's agentic operational feedback loop. Rather than simply presenting analytics and leaving owners to figure out what to do, Resta can identify operational problems, investigate their causes, propose actionable solutions, and help execute them with human approval. But Resta doesn't stop there. It analyzes the outcomes of its recommendations, learns from what worked and what didn't, and updates its understanding of the restaurant accordingly.

This creates a continuous cycle of improvement, laying the groundwork for an assistant that becomes more informed and effective over time.

Another accomplishment is how much functionality we've integrated into a single platform. While the number of features is impressive, how these tools work together is where the real magic happens. For example, Resta can combine sales trends, ingredient costs, and inventory availability to identify meaningful promotional opportunities instead of simply generating generic marketing content. By connecting information across departments, Resta can uncover opportunities that might otherwise go unnoticed.

We also prioritized keeping restaurant owners in control. Resta distinguishes between actions it can perform automatically and consequential decisions, such as purchases, price changes, and external communications, that require explicit approval. This makes the system more practical for real-world businesses, where trust and transparency are essential.

Most importantly, we're proud that we've built the foundation for something much bigger than a hackathon project. Resta demonstrates how AI can move beyond answering questions and generating reports to actively supporting the day-to-day operations of a business. We see this as a first step toward making sophisticated, intelligent business automation accessible to small and family-owned businesses that have traditionally lacked the resources and dedicated teams available to larger companies.

What we learned

Time is the real product, and money is how owners believe it. Most small-restaurant owners started out because they love to cook, and the back office slowly takes that away: invoices at midnight, checking whether DoorDash actually paid, calling suppliers about a short delivery. "We'll save you time" is something every tool claims, though. What made the time feel real was showing the work Resta had already done for them: the overcharge it caught, the \$1,463 the delivery apps still owe, the order it drafted before anything ran out. Every task Resta takes off their plate is time back in the kitchen.

Owners trust what they can approve. Early on we wanted the AI to just handle things. Thinking it through, the owner of a small restaurant won't hand over their supplier orders or their bank account to software they can't see. Drafting everything and letting the owner approve with one tap made Resta feel like help instead of a risk, and it's why every order, email and money move goes through a single approval log.

AI is best at the messy inputs, not the numbers. Claude is remarkably good at reading a crumpled invoice photo, a supplier's PDF or a rambling catering email. It's not the right tool for arithmetic. Splitting the work, with AI to read and explain and plain tested code to calculate, gave us both flexibility and numbers we could stand behind.

Design for the real workday. An owner checks this between services, often on a phone with flour on their hands. That pushed us toward one-line summaries, alerts that start folded, voice input, and email that flows in on its own instead of yet another form to fill in.

What's next for Resta

We envision Resta becoming the backbone of agentic backend operations for small and family-owned restaurants, with significant room to grow.

Our first step is getting Resta into the hands of real restaurant owners, starting with local family-run restaurants in the Bay Area. By working directly with owners, we can understand their day-to-day challenges and refine Resta around their actual needs.

From there, we plan to replace our seeded data and simulated banking environment with real POS integrations, financial accounts, and operational data. As Resta moves toward a production-ready product, we aim to expand into areas such as labor scheduling, food waste reduction, and catering management, guided by customer feedback and market research.

Longer term, we see an especially significant opportunity in underserved markets across Asia, where many small and family-owned restaurants still manage inventory, invoices, purchasing, and pricing manually, often without any centralized software.

Resta could bring the kind of intelligent operational infrastructure typically available only to large restaurant chains to these smaller businesses, without requiring a dedicated operations team. Our goal is to free owners from repetitive administrative work so they can spend more time improving their food, serving customers, and growing their businesses.

Ultimately, what excites us most is that Resta's core technology extends far beyond restaurants. At its heart is a context-driven, self-improving agentic feedback loop: detecting operational problems, investigating their causes, proposing solutions, executing actions with human approval, measuring outcomes, and using those results to continuously update its understanding of the business.

This architecture is applicable to almost any industry with complex, fragmented backend operations. Small retailers, hotels, manufacturers, and service businesses face many of the same challenges. We see restaurants as the starting point for a much larger vision: making intelligent, autonomous business operations accessible to every small business, not just companies with the resources to build sophisticated internal systems.

Built With

Share this project:

Updates

Submission history