UX · Product · AI Tools · Restaurant Tech
Revi had no handheld POS. No offline capability. No full-service controls. I built the product, research to PRD to design to PR review, using AI tools at every step. Shipped a month ahead of the original date.
Interaction Design
Toast groups similar items together, so "split by item" doesn't actually let you split individual line items. Two lattes become one line you can't separate. We broke every item into its own draggable row. Servers split exactly what they need, drag between tickets, and close out faster.
The Situation
Every restaurant we talked to had the same question during sales: what happens when the WiFi goes down? Revi didn't have an answer. No handheld POS meant no offline purchasing, no table-side service. A hard stop in full-service restaurants and a meaningful gap against competitors.
Beyond offline capability, full-service restaurants needed seating controls and kitchen display system (KDS) integration baked into the handheld. Our sales team was hearing this directly from operators who were being pitched competitive upgrades.
My Role
This wasn't a typical "designer on the team" engagement. I ran the research, wrote the epic and PRD, defined requirements, broke work into dev tickets, drove design through iteration, and sent PRs for review alongside the engineer. That kind of full-stack ownership wasn't planned. It emerged because the project needed it and AI tools made it possible.
How I Worked
Instead of a conventional design process, I built an AI-augmented pipeline that let one person do what normally takes four.
I talked to restaurant owners and servers to map what competitive solutions were winning on. Then I worked with our sales team to understand what features would actually move deals, not just what users liked in a lab. That dual lens shaped the entire scope.
I used Loveable to generate rapid interaction explorations and stood those up with real clients for reaction testing. This gave us signal early, before anything was in Figma. The goal was to fail fast on bad ideas and invest in the directions that got instinctive buy-in.
I built a PM GPT trained on Revi's product context, then used it to write the epic, PRD, requirements, and dev tickets. I drove every decision. The AI handled the formatting and structure so I could stay focused on the substance.
I built the core designs in Builder.io, sharpened interaction details in Figma, then returned to Builder to prep for shipping. Dev review was collaborative. I could contribute to PRs instead of just handing off a spec and waiting.
Key Decisions
Midway through the project, our team was concurrently pulled onto the Revi OS project. The timeline pressure was real. I had to be tight about scope, packaging small workloads when direction changed quickly and making hard feature tradeoffs to protect the February release.
Tradeoff: Cash Handling vs. Labor Integration
The Feature Worth the Tradeoff
The 7shifts integration would have given us third-party labor management. But our partners didn't need a sync. They needed clock in/out that actually worked on shared hardware. Multiple employees, one terminal, no personal logins. The real problem on the restaurant floor.
Building our own time clock meant we could design for the actual environment: tap to clock in, track breaks without navigating away, see the full shift log, and hand the device to the next person cleanly. Partners could replace their separate time tracking system entirely. One less device, one less subscription, one less thing to train staff on.
Shared Device UX
Manager view shows the full team's activity. Individual view shows only your session. One tap to clock in, one tap for break, clean handoff to the next employee.
Outcomes
Honest Reflection
Revi's design system carries years of diverging designer opinions. Even in its lightest implementation, it still feels like a collection of decisions that never quite agreed with each other. I shipped within it, but if I were starting fresh, I'd use AI to rebuild the system from scratch so the product felt cohesive.
I'd also push harder to write more of the code myself. I was sending PRs, reviewing diffs, using Builder, but having Claude Code in my toolkit now, I'd handle more of the implementation directly. Waiting on dev time for UI fixes I could have shipped myself cost momentum more than once.