Designed an end-to-end QR ordering system for coffee carts at private events. Built the working demo and a 6-week build roadmap. Engaged with Beeso to ship Phase 1 in 4 weeks.
The line at a private event is usually where the experience falls apart. Guests forget what they ordered, baristas shout names over speakers nobody can hear, and the host watches the reception turn into a coffee bar wait. The host paid for an upgrade. The line was the only thing guests remembered.
Beeso runs a coffee cart that travels to weddings, corporate retreats, and family events. Each booking has its own menu, its own pace, and its own ways to get backed up. The owner wanted to fix the line without turning the cart into a tech project.
The brief was simple: keep the cart, keep the menu chalkboard energy, take the line out of the experience entirely.
For a cart contracted to make 150 drinks during a 90-minute window, the back half of an event is where service quality drops. Three predictable failures:
“What did I order again?” Guests forget their drink while waiting. “Whose latte is this?” Baristas shout names over music that drowns them out. “How long is the wait?” Nobody has visibility into the queue, so the same question gets asked every two minutes.
The deeper constraint: every event Beeso does is different. A wedding might be four signature lattes. A corporate retreat is cappuccino and cold brew, done. A welcome dinner the night before might be three iced drinks. The cart has to reset itself every weekend, and the chalkboard didn’t scale.
Existing self-order tools (Square, Toast) are point-of-sale systems built for restaurants. They don’t fit a one-cart business that doesn’t collect payment from guests because the host already paid in full.
I built a static end-to-end demo first — a working prototype that ran locally, so Beeso could click through the real flow before committing to a build. The whole loop:
Guests scan a QR at their table, type a first name and table number, pick a drink with size and milk, then watch a live queue position on their own screen. When their drink is ready, the page chimes and the phone buzzes. No SMS, no app, no phone number required. The barista runs a three-column kanban (Queued / Brewing / Ready) on an iPad at the cart and taps to advance each order.
The system is designed around multi-event from day one. Each event has its own menu picked from a shared catalog. Lattes for the wedding, cappuccino only for the corporate retreat, iced lineup for the welcome dinner. Beeso flips an admin switch and the QR and menu go live for that day. Five minutes of setup instead of a re-drawn chalkboard.
Built on the boring-and-fast stack: a React framework for the front, managed Postgres for the back, edge hosting for HTTPS and global delivery. Twilio and Stripe enter the picture only in later phases, only when an event needs them.
Beeso is cart #1. The point of cart #1 is to prove the playbook. Phase 3 lands the polish that lets the cart serve a 200-guest event without breaking a sweat: real-time queue updates, push notifications, an analytics dashboard, multi-staff accounts. After that, the platform stops needing me at every event.
Phase 4 opens two adjacent doors. Pop-up mode via Stripe checkout lets customers pay per cup at cafes, public markets, and ticketed events — a different business model on the same product. White-label licenses the same platform to other small cart operators with their own branding.
The interesting bet: QR ordering at private events isn’t competing with Square or Toast. It’s competing with a hand-written chalkboard and a barista yelling names over music. That’s a much easier fight to win.