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

// By the numbers
- 2
- Products from one build
- 4 rewards
- Repeat-order engine
- Geofenced
- Delivery accuracy
- AR · EN
- Bilingual storefront
customer storefront and admin dashboard — one codebase, two deployments
points-based loyalty ledger that brings customers back
map-based zone detection — orders only where delivery is possible
full RTL — every customer ordered to in their own language
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.
How it's put together
Customer Storefront
Menu · cart · checkout · tracking
Admin Dashboard
Orders · menu · zones · loyalty
Dual Build
One codebase → two zero-overlap bundles
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.
Signature capabilities
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.
Dual-build architecture
One environment flag tree-shakes the codebase into two zero-overlap bundles — the storefront ships no admin code and vice versa.
Delivery-zone geofencing
Customer coordinates resolve to the correct zone, fee and minimum order using distance math computed directly in the database.
Server-authoritative pricing
All prices are re-fetched server-side at order time; the client never controls totals.
Live order tracking
An auto-refreshing status timeline from pending through delivered, with a copyable order reference.
Bilingual & RTL
English and Arabic with dynamic direction switching and a persisted language preference.
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
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
Built with
Frontend
Backend
Maps
Infrastructure
// Gallery
Want something like Stravo?
Boutique software studio — agency-quality systems, shipped by one senior engineer.
// Related work


