All work
2023 – present · Founder & Lead Engineer

OrderScribe

OrderScribe is a digital menu and customer-feedback platform for restaurants and chains. It captures guest data during the visit, alerts staff in real time when feedback comes in negative, and turns first-time guests into regulars.

Visit live
Outcome
85% data capture rate
Outcome
40% lift in return visits
Outcome
30% AOV growth

The problem

Most restaurants run blind on the operational side. They know what dishes left the kitchen, but not whether the guest enjoyed the meal, whether they'll come back, or what would have changed their mind. Reviews land days later, by which time the relationship is already over.

Existing point-of-sale systems sell themselves on speed of order entry, not retention. When a guest is dissatisfied, no one knows in time to fix it.

Approach

OrderScribe is a QR-first digital menu with a feedback step layered on top. Each visit captures the guest's contact info, a satisfaction signal, and the order context. Staff get a real-time alert the moment a guest flags an issue, so they can come back to the table before checkout.

There's also WhatsApp ordering, multi-branch support for chains, multi-language menus, and analytics that feed retention campaigns.

  • Django backend, Next.js storefront, PostgreSQL data layer
  • QR-based menu navigation with per-table session tracking
  • Real-time feedback alerts via WhatsApp and admin dashboard
  • Multi-branch, multi-language, multi-currency
  • Customer segmentation and retention tooling

Results

In pilot deployments OrderScribe moved retention metrics that traditional POS systems don't even measure.

  • 85% customer data capture rate per visit
  • 40% lift in return-visit rate within 90 days
  • 30% growth in average order value
  • 5x ROI from retention features alone

What I learned

The hard part of restaurant tech isn't the menu interface. Every QR menu looks roughly the same. The hard part is the loop: capture the context, alert staff in time, convert attention into revenue. That loop is where most existing tools fail quietly.

Building this also taught me how much restaurant operators care about reliability over features. Every additional integration added support load. Lesson: ship the smallest reliable loop first, then expand.

Stack

DjangoNext.jsPostgreSQLWhatsApp APIStripe