Case study · 2026
Takeaway Ordering Platform — Web, Admin & Mobile
Multi-tenant restaurant ordering system — Django API with Celery workers, Next.js admin, Expo mobile app and Stripe, shipped as one Docker stack.
- Django
- Django REST Framework
- PostgreSQL
- Redis
- Celery
- Next.js
- React Native
- Expo
- Stripe
- Docker
- Nginx
- Let's Encrypt

Context
Takeaway restaurants pay heavy commissions to delivery marketplaces. The goal: an ordering system a restaurant owns, reusable across businesses without hard-coding branding, currency, fees, opening hours or API URLs.
System design
Customer app (Expo, iOS/Android) Restaurant admin (Next.js)
│ │
└──────────────┬────────────────────┘
│ HTTPS
┌─────────▼─────────┐
│ Nginx + Certbot │ TLS, api./www. routing
└─────────┬─────────┘
┌────────────────────┼─────────────────────┐
│ ┌─────────▼─────────┐ │
│ │ Django REST (web) │── JWT │
│ └──┬──────────┬─────┘ │
│ ┌───────▼──┐ ┌───▼─────┐ │
│ │ Postgres │ │ Redis │◄─┐ │
│ └──────────┘ └─────────┘ │ │
│ ┌────────────┴──┐ │
│ │ Celery worker │ │ order emails,
│ └───────────────┘ │ payment events
└──────────── Docker Compose ──────────────┘
│
Stripe (+ webhooks)
Key decisions
- Tenant configuration, not forks. Branding, currency, delivery fee and hours come from config, so a new restaurant is a deployment, not a code change.
- Celery for anything slow — payment webhooks and notifications never block an order request.
- One Compose file for the whole stack (API, worker, admin, Nginx, Certbot, Postgres, Redis) — reproducible on a single droplet, with a documented first-deploy runbook.
- Expo + EAS Build for one TypeScript codebase on Android and iOS, with TanStack Query, Zustand and SecureStore for tokens.
Status
Backend, admin and deployment stack built; mobile app in active development. Delivered through KohzadTech.
More projects
2025–26Case studyDubai Haus — Real-Estate Platform, SEO & Growth
Bilingual property platform built from scratch and grown through SEO — 2,200+ synced projects and 6.8× more organic clicks in 12 months.
- Next.js
- PostgreSQL
- Prisma
- Redis
- +8
Read case study
2026Case studySaadiyat Marina — Bilingual Property Publication
German-first Next.js publication on Abu Dhabi's Saadiyat Island — 54 URLs with a complete hreflang cluster, built in 7 working days.
- Next.js 15
- TypeScript
- JSON-LD
- hreflang
- +3
Read case study
