B2B SaaS

Dishroom

A SaaS dashboard where a restaurant group keeps every menu at every venue accurate, with full version history.

The challenge

A group that runs several restaurants has a menu problem. Each venue has its own PDF. Prices change, dishes come and go, allergens need updating. Changing a menu meant emailing a designer and hoping every branch printed the latest file. Retyping hundreds of dishes into a new system was the step nobody wanted to take.

Our approach

We made the slow step fast. The browser reads the PDF with pdf.js, then Gemini 2.5 Flash returns each dish as a typed object checked against a schema. A malformed answer fails with a clear message instead of saving bad data. Parsed dishes land in a library where the team reviews them before they go live.

Menus with history

  • Every upload and edit creates a new version, and the old one stays.
  • Teams can read a menu's history, archive old menus and single dishes, and batch-edit many items at once.

Built for groups

  • One login moves between restaurants with a team switcher. Roles are set per restaurant.
  • Onboarding walks a new group through the restaurant, its service hours, a pricing plan and the first invitations.
  • Signup is invite-only. Outsiders can file an access request, and a group can plug in its own OIDC single sign-on.

A dashboard that points at problems

  • Menu health shows what is processed, what failed and which menus have no active version.
  • Pricing analytics by category, plus upcoming events and public holidays for menu planning.

The outcome

Restaurant groups get one place to keep every menu right. AI parsing removes the slowest part of getting started. Versioning means no change is lost.