The Challenge
Tipping culture in restaurants and hospitality is shifting — cash is disappearing, but the digital alternatives are fragmented and awkward. Standalone tip apps require a download. Card terminals route tips through the business before redistributing to staff. Neither works well for guests who want to tip a specific person or simply don't carry cash.
TIMPL was founded to solve this with a single QR code scan — no app, no account, no friction.
But as the product developed, a larger opportunity emerged: the same frictionless QR-to-payment flow that worked for tipping could support the full in-restaurant ordering experience. A guest at a table could browse the menu, order, and pay — without waiting for a server to bring the bill.
This product evolution meant the platform had to support two distinct modes from a single entry point:
- tipping flow — scan a staff member's personal QR, choose an amount, pay;
- table ordering flow — scan a table QR, browse digital menu, order, pay.
Both flows needed to work on any smartphone browser with no app installation, no account creation, and Stripe as the payment layer. On the other side, staff needed reliable real-time notifications for incoming orders and tips — and restaurant owners needed tools to manage menus and monitor activity.
The Architecture
The platform is structured around three distinct product surfaces: the guest-facing PWA, the staff mobile experience, and the restaurant admin panel — all connected through a shared API backend.
QR Code System
Each QR code in the system encodes a unique context — either a staff member or a table — and routes the guest to the appropriate flow on scan.
The QR management system allows restaurant administrators to:
- generate and assign QR codes to individual staff members;
- generate and assign QR codes to specific tables;
- regenerate codes on demand (for lost cards or table reassignment);
- export codes for printing in custom formats.
The URL structure behind each QR carries enough context for the frontend to resolve the correct flow and pre-populate the relevant data — staff name and photo for tipping, table number and menu for ordering.
Guest Tipping Flow
The tipping flow is designed to be completable in under a minute on any smartphone:
- Guest scans the staff member's QR code;
- Staff profile page loads instantly — name, photo, role;
- Guest selects a tip amount (preset options or custom input);
- Payment via Stripe (card, Apple Pay, or Google Pay);
- Confirmation screen with optional personal message to the staff member.
No account creation, no app download, no redirect to an external payment page — the entire flow is self-contained in the PWA.
Table Ordering Flow
The ordering flow extends the same entry mechanic to cover the full dining experience:
- Guest scans the table QR code;
- Digital menu loads with categories, items, descriptions, and photos;
- Guest builds an order with item selection and quantity controls;
- Order is submitted and paid via Stripe;
- Confirmation is displayed; kitchen and floor staff are notified in real time.
The menu supports item modifiers, availability toggling, and category-level visibility — allowing restaurants to reflect the actual menu state at any point during service (lunch menu vs dinner menu, sold-out items).
Staff Notification System
Real-time awareness is critical for floor staff and kitchen teams. A missed order notification in a busy restaurant is a service failure.
Firebase Cloud Messaging delivers push notifications to staff devices for:
- new table orders (with full order detail);
- new tips received (staff member's own tips only);
- order status updates;
- special requests or notes from guests.
Notifications are routed at the staff-role level — kitchen staff receive order notifications, floor staff receive tip and table alerts, managers receive all events. Staff access the notification interface through a lightweight PWA optimized for quick glance use on a phone or tablet held during service.
Digital Menu Management
Restaurant administrators manage the full menu through a dedicated interface:
- create and organize categories;
- add and edit menu items with descriptions, photos, prices, and modifiers;
- toggle item availability in real time (no page reload for guests, menu updates propagate via polling);
- schedule menu variants by time of day or day of week;
- manage allergen and dietary information per item.
Menu changes are reflected to guests immediately, making it practical to update sold-out items during service without reprinting physical menus.
Payment Architecture
Stripe is the single payment layer for both tipping and ordering flows.
The integration covers:
- card payments, Apple Pay, and Google Pay via Stripe Elements and Payment Request API;
- tip distribution — tips are routed directly or held and batched for staff payout depending on the restaurant's configuration;
- order settlements — payments are captured on order confirmation and reconciled against the restaurant's Stripe Connect account;
- refund handling for cancelled or disputed orders;
- payout reporting for both restaurant owners and individual staff members.
Stripe Connect enables the platform to handle multi-party payments — ensuring tips attributed to a specific staff member are traceable and distributable independently of the restaurant's main revenue.
Restaurant Admin Panel
Each restaurant account has access to a full operational dashboard:
- real-time order feed and status tracking;
- tip summary by staff member and time period;
- revenue and transaction reporting;
- menu management;
- QR code generation and assignment;
- staff account management and role assignment.
Technology Stack
Frontend & PWA
- Next.js
- TypeScript
- Tailwind CSS
Backend
- Python
- Django REST Framework
Data Layer
- PostgreSQL
- Redis
Payments
- Stripe
- Stripe Connect
Notifications
- Firebase Cloud Messaging
Infrastructure
- Docker
- Nginx
The Outcome
TIMPL launched as a tipping tool and shipped as a full in-restaurant ordering platform — covering the complete guest journey from QR scan to paid order in a single, app-free experience.
The product demonstrated that the gap between a simple tip widget and a full hospitality POS alternative is smaller than it looks — when the underlying architecture is built to expand from day one.
For restaurant owners, TIMPL reduced reliance on physical menus, eliminated the need for staff to carry handheld order terminals, and gave management real-time visibility into both revenue and tip distribution.
For guests, the experience requires nothing beyond a phone camera and a payment method already saved in their wallet.
Key Results
- Guest flow from QR scan to payment completed in under 60 seconds (estimated)
- Zero app installations required for guests or staff on supported devices
- Staff push notifications delivered within 3 seconds of order or tip event (estimated)
- Single platform supporting two distinct guest flows — tipping and full table ordering
- Stripe Connect enabled per-staff tip traceability and independent payout reporting