Food ordering · Web, app & admin
Ordering & delivery platform for a restaurant chain
One platform for a multi-branch restaurant chain: website, iOS & Android app and a back office — with delivery zones, scheduled orders, a cashback wallet, a promotion engine and marketing automation.
- Role
- Tech lead · backend, admin, mobile app
- Years
- 2024 — 2026
- Platforms
- Website · iOS & Android · Admin panel · API
- My share
- ~68% of commits
The challenge
Customers order from the website and the app, for delivery or takeaway, now or later, from different branches — and every order must get the right price under overlapping discounts, the right delivery rules and the right working hours. Marketing wanted segments and campaigns on top.
How I solved it
- 01
A single Laravel API with controllers split into shared, web, mobile and admin layers, so both customer channels reuse the same business logic.
- 02
A promotion engine (~1,300 lines) that simulates discount combinations and guarantees the customer always gets the best valid total, with clear stacking rules.
- 03
Delivery zones resolved from map coordinates and a time-slot engine for ASAP, scheduled and takeaway orders that respects each branch's hours.
- 04
Daily-refreshed customer segments driving email, SMS and push campaigns, re-synced whenever a wallet balance changes.
- 05
A React Native app with remote force-update, a switchable API base URL for testing and a retry policy that only repeats safe requests.
What it does
- Phone OTP, Google and Apple sign-in on web and native
- Guest cart that merges on login, reorder and saved cards
- Cashback wallet with tiers, history and vouchers
- Nine payment methods incl. Apple Pay, Google Pay and local gateways
- Live order status, courier and operator roles, reviews
- ~30 analytics reports and ~40 Excel exports for the business
- Media library, blog, FAQ and per-page SEO in the CMS
- Push notifications with an in-app inbox and seasonal event screens
Results
- API endpoints
- ~330
- Payment methods
- 9
- Client surfaces
- 3
- Of commits authored
- 68%
- One backend serving three surfaces — website, mobile app and admin — in three languages
- ~330 API endpoints, 49 data models and 12 admin roles
- I authored about 7 out of 10 commits on the platform and 8 out of 10 on the app
Stack
- Laravel 11
- Next.js 14
- React Native 0.81
- React 18
- Zustand
- Pusher
Integrations
- Apple Pay
- Google Pay
- Idram
- Ameria
- Telcell
- Firebase
- Yandex Maps
- Mailgun
Details, names and visuals are generalised to respect client confidentiality. Happy to walk through the architecture in a call.
Have a product in mind?Let's build it.
Tell me about your idea, your product or your team. I usually reply within one working day.