Skip to content
All work
// Case studyWeb platformdemo

Stravo

Bilingual restaurant ordering & delivery — loyalty ledger, delivery-zone geofencing, dual-build.

2025 MENA Food ordering & delivery
E-commerce & marketplacesOn-demand & delivery
Stravo — Bilingual restaurant ordering & delivery — loyalty ledger, delivery-zone geofencing, dual-build.

// By the numbers

2
Products from one build

customer storefront and admin dashboard — one codebase, two deployments

4 rewards
Repeat-order engine

points-based loyalty ledger that brings customers back

Geofenced
Delivery accuracy

map-based zone detection — orders only where delivery is possible

AR · EN
Bilingual storefront

full RTL — every customer ordered to in their own language

// The problem

What the business was up against

A restaurant taking delivery orders over the phone and social media absorbs three costs at once: staff time transcribing orders, mistakes on addresses outside the delivery range, and no memory of who orders regularly. Aggregator platforms solve the ordering but take the margin and the customer relationship with it. The business needed its own ordering surface, its own delivery boundaries, and its own reason for customers to come back.

// Overview

A bilingual restaurant ordering and delivery platform with a customer storefront and an admin dashboard — live order tracking, map-based delivery-zone detection, and a points-based loyalty system. One codebase compiles into two independent, zero-overlap deployments.

// Architecture

How it's put together

01Client applications

Customer Storefront

Menu · cart · checkout · tracking

Admin Dashboard

Orders · menu · zones · loyalty

02Build layer

Dual Build

One codebase → two zero-overlap bundles

03Backend & data

Managed Backend

Auth · row-level security · server-side pricing

Relational Database

Append-only loyalty ledger

Maps

Delivery-zone geofencing

A single codebase tree-shaken into two independent deployments.

// Engineering decisions

The calls that shaped it

The handful of decisions that determined how this system behaves — and what each one bought.

  1. 01

    One codebase, two zero-overlap deployments

    The customer storefront and the admin dashboard are built from a single tree-shaken source and deployed independently, so shared business rules stay identical while no admin code ever ships to a customer's browser.

  2. 02

    Delivery zones as geofences, not text fields

    Map-based zone detection decides at checkout whether an address is deliverable. Orders that could never be fulfilled stopped entering the system at all.

  3. 03

    Loyalty as a points ledger

    Earning and spending are ledger entries rather than a mutable counter, so a reward can be audited and reversed instead of quietly disappearing.

  4. 04

    Bilingual storefront from the first screen

    Arabic RTL and English were built together rather than mirrored later, because the ordering surface is the whole customer relationship.

// Highlights

Signature capabilities

01

Loyalty ledger

An append-only points ledger with server-authoritative redemption, per-customer locking to prevent double-spend, idempotent earning, and automatic refunds on cancellation.

02

Dual-build architecture

One environment flag tree-shakes the codebase into two zero-overlap bundles — the storefront ships no admin code and vice versa.

03

Delivery-zone geofencing

Customer coordinates resolve to the correct zone, fee and minimum order using distance math computed directly in the database.

04

Server-authoritative pricing

All prices are re-fetched server-side at order time; the client never controls totals.

05

Live order tracking

An auto-refreshing status timeline from pending through delivered, with a copyable order reference.

06

Bilingual & RTL

English and Arabic with dynamic direction switching and a persisted language preference.

// Features

Business feature set

The functional scope delivered across every part of the product.

Customer storefront

  • Menu browsing by category
  • Debounced search (incl. Arabic)
  • Product detail & recommendations
  • Cart drawer
  • Today's offers
  • Delivery or pickup checkout
  • Map-based delivery pin
  • Delivery-zone detection
  • Live order tracking
  • Order history

Admin dashboard

  • Orders management
  • Menu & category CRUD
  • Offers & promotions
  • Delivery-zone editor
  • Business settings (hours, tax, channels)
  • Loyalty rewards manager & analytics

Loyalty & rewards

  • Append-only points ledger
  • Four reward types
  • Configurable earn rate
  • Auto refunds on cancellation
  • Server-authoritative redemption
// Outcome

What changed operationally

Documented outcomes from the delivered system. Where exact figures are confidential, the operational change is stated instead.

  • Phone-and-social ordering replaced by a direct storefront the business owns
  • Two independent products — storefront and admin — from one maintained codebase
  • Out-of-range orders prevented at checkout by geofenced delivery zones
  • Points-based loyalty ledger driving repeat orders without an aggregator
  • Live order tracking visible to the customer through fulfilment
  • Full Arabic RTL and English storefront from launch
// Constraints

What we had to work within

  • Small operator — the admin surface had to be usable by kitchen staff
  • Delivery is geographically bounded and the boundary is not a straight line
  • Bilingual Arabic/English customer base ordering from the same menu
  • No aggregator dependency; the customer relationship had to stay first-party
// My role

What I owned

End-to-end on this project — from architecture and data modelling through to a shipped, production product.

  • Full-stack architecture & data modeling
  • Loyalty ledger with concurrency-safe redemption
  • Dual-build storefront + admin from one codebase
  • Delivery-zone geofencing & server-side pricing
  • Row-level security & dual authentication
  • Bilingual English/Arabic with full RTL
// Stack

Built with

Frontend

ReactTypeScriptVite

Backend

Managed PostgresRow-level security

Maps

Geofencing

Infrastructure

Vercel
// Makhloof Studio

Want something like Stravo?

Boutique software studio — agency-quality systems, shipped by one senior engineer.

WhatsApp