Adhith SundaramSenior product designer

Restaurant operations · Piloted 2026

0-1 in 7 days

Mise, an AI-native margin-intelligence workspace for restaurants

View the live prototype

Role

Product Designer, building natively with AI

Timeline

7 days design + build (including MVP and post-MVP), 7 days pilot test

Team

Solo with Claude (MVP build), Perplexity Computer + Cursor (post-MVP)

Mise consolidates POS, invoice, and recipe data to pinpoint losing dishes, explain causes, and offer fixes. I built it natively with AI from scratch, piloting in less than seven days, then rebuilt based on feedback.

Every restaurant margin tool shows what happened, but lacks guidance

I found lagging dashboards and outdated recipe calculators left restaurant operators reacting to food costs after the damage was done. AI-suggested price hikes do not draw on past data. Restaurant operators face tough questions alone, analyzing issues manually.

Existing platforms serve different roles: Toast IQ aids workflows, and FoodStorm handles ordering. Each excels in its area but lacks the full margin decision loop to decide, implement, measure, and learn. Mise fills this gap as an evidence layer beside the POS.

"The data was present but lacked decision guidance."

I built Mise myself, directing architecture and decisions, with Claude writing the code.

A 7-day build required logic-first rules before screens. Then I worked like a PM with engineers: short prompts, review builds, redirects. The scope included problem framing, architecture, design system, product sections, and an AI agent. The real challenge was making decisions fast enough to keep the build moving.

My direction

I set the information architecture and decision-loop logic by defining explainable costing with target margin and evidence from the lens of a restaurant operator. I made sure every revenue plan requires human approval. I set file-first intake for trial without POS contract and AI agent's rule to cite sources or refuse.

Claude’s responsibility

The build included a React workspace with page scaffolding, component library, tokens (brand green, warm canvas, font usage), import pipeline, local persistence, Ask Plato drawer tools, server-side checks, and pilot deployment.

The pilot's Overview: the week's recommended actions, the weekly work counts, weighted menu margin, gross profit and dishes at risk, with the margin trend and ingredient pressure below.

Before a real user, I built a synthetic restaurant GM with the skills and duties of running a high-volume restaurant.

Modeled on a high-volume revenue manager rather than a typical operator, the synthetic persona prioritizes margin dollars over food-cost percentages.

The persona, in raw form

Powered by a custom skill file, the AI enforced strict revenue logic like break-even checks and category rules. That is what let it push back on the product the way a real operator would.

The persona's SKILL.md open in a code editor, with a folder tree of references and a script beside it: the frontmatter, the idea that contribution margin dollars pay rent, and the actions for Stars, Plowhorses, Puzzles and Dogs.

An excerpt of the skill file behind the synthetic GM.

Approving a plan, in the pilot

Evidence-backed suggestions stage plans off-POS, deferring tracking until real-world changes are confirmed by a user.

Pilot outcomes

Moving on from rigid MVP directives, the post-MVP version simplified the interface to empower user decisions.

Pilot feedback confirmed core value but exposed cluttered views, weak iPad layouts, and manual review tasks.

Post-MVP, I moved the build to Perplexity Computer orchestration and Cursor, redesigning interaction to 70% human and 30% agentic flow. Plato handles prep and flags, shifting the GM from manual execution to strategic AI collaboration.

What changed between the MVP and the post-MVP
MVPPost-MVP
GM reviews a static recommendationGM works the decision with Plato, then approves it with a reason on record
Busy, bordered layout that broke on iPad; same chat and chips on every pageOne next action per screen, calm surfaces, light and dark themes, works from desktop to 320 px
GM ticks a weekly checklist by handPlato prepares the weekly brief; the GM saves a snapshot only if they want one
Plato shown as a generic AI iconPlato as a character with different emotion states

The post-MVP version hasn't run its own pilot yet. It's built and tested against issues from the first pilot, ready for round two.

Overview

Before: I had dense cards, repeated counts, heavy borders.

MVP Overview

After: I refined it to a single next action, with calm surfaces and source status in view.

Refresh Overview

Approving a plan

Before: I had a single-click approve dialog which needed more context.

MVP approve dialog

After: I highlighted current vs proposed state comparison, weekly impact and evidence before approval.

Refresh approval drawer with weekly impact

iPad view with Plato

Before: I did not plan for iPad responsiveness in the MVP.

After: I accounted for Plato in the post-MVP with a dynamic content flow.

MVP at iPad width: Plato squeezed the workspace and the page overflowed. Refresh at iPad width: Plato opens as an overlay and nothing overflows.

Plato demo

Product modules

It finds the risk before you do.

Mise automatically flags at-risk dishes against target margins, eliminating reports and spreadsheets entirely.

Two dishes at risk, the 68% target they are measured against, and the dishes themselves.

It shows its work

Every metric traces to raw costs, volume, and assumptions, letting operators trust data over blind faith.

Grilled Ribeye at 58.4% margin, 9.6 pts below target, and the open plan that follows from it.

It recommends. You decide.

Mise simulates margin and price impacts before execution, requiring recorded operator approval to go live.

The plan is modelled, and +$165.55 a week is visible before the operator approves it.

Plato had to feel like a teammate without ever acting like the boss.

Plato started as a line drawing beside an empty chat box. Moving past a generic chat box from the pilot phase, I gave Plato a memorable face that visually communicates its true operational state.

The character is my own mascot, a smiling plate, and it went through three versions before it worked in the product. I split the mascot into layered assets, using code to tie every expression directly to real-time system state.

Version 1 Static animation looked right but could not react to anything.

Version 2 Plate and eyes separated, so each part moves on its own.

Shipped Composed in code, so expressions follow what Plato is doing.

The system had to move at the speed of the product without losing its source of truth.

During the MVP I built the Figma library, called Mise DLS 0.1.0. The post-MVP changed almost every surface, so the real question was how to update the system without breaking what the pilot relied on, and without Figma and code drifting apart.

I audited Figma gaps and built code-first foundations: semantic dark/light tokens and unified focus states.

Storybook became the working library. Each component page answers the same six questions: overview, anatomy, properties, states, accessibility and examples. Sourcing patterns directly from the production app kept design documentation grounded in shipped reality.

Storybook documentation page for the Button component, showing a live Send order button followed by Overview, Anatomy and Properties sections.

I imported v0.2.0 tokens into Figma without overwrites, archived legacy components, and published the library.

Mandatory WCAG 2.2 AA passes and code-first tokens established a single source of truth across design and code.

A piloted loop, a rebuilt experience, and a product ready for its second restaurant.

6

Actions accepted in the pilot, with 3 validated against measured results

In 48 hrs

Built up post - MVP

762

Page cleared automated checks and theme combinations with zero WCAG 2.2 AA accessibility findings.

Real-file edge cases in the pilot led to verification guardrails that automatically withhold unsupported claims. The post-MVP version applied these lessons, shipped with Mise design system 0.2.0, and went live on Vercel.

Building natively with AI changed what being the designer actually meant, day to day.

I stopped making handoff artifacts and started making decisions, as each decision quickly became working software. My design judgment became the ultimate filter for setting firm rules, iterating screens, and rejecting weak assets. It also taught me to plan around tool limits when deciding where to plan and execute. A read-only Figma connector and no branching meant designing the release path as carefully as the screens.

The synthetic pilot proved the loop works. An industry run could bring in more feedback.

Live POS feeds and operator memory will test whether grounded briefs shorten review times and drive higher approvals. And expanding brand design could strengthen the product exposure.

Take a look at the live prototype ↓