Skip to content

This site uses no tracking cookies — just the session cookies that keep the admin panel and blog accounts signed in, plus an anonymous page-view counter.

Omar Mohamed
WorkAboutStackNotesContact
Let's talk
  1. Home
  2. Work
  3. قائمة (Qa'ima) — QR Menu & WhatsApp Ordering SaaS

Full-Stack SaaS · 2026

قائمة (Qa'ima) — QR Menu & WhatsApp Ordering SaaS

Arabic-first, multi-tenant QR menu platform that turns a table scan into a structured WhatsApp order — no app for guests, no paper for restaurants.

قائمة (Qa'ima)

Details

Updated
Oct 2026
Role
Solo full-stack developer — product design, architecture, UI, database, and deployment.
Timeline
Oct 2026 — ongoing (live deployment in progress)
Outcome
A production-ready SaaS with a clean production build, a live PostgreSQL database (Neon) running 18 tenant-isolated tables, an idempotent order pipeline, and an automated e2e smoke suite covering the guest ordering flow.
Next.js (App Router)TypeScript (strict)Tailwind CSS v4PostgreSQL — Neon (serverless)Drizzle ORMBetter Authnext-intl (ar/en)Vitest + Playwright
Source

A multi-tenant platform for Egyptian restaurants: guests scan a QR code on the table, browse a bilingual menu (Arabic RTL by default, English at /en), and send their order straight to the restaurant's own WhatsApp — with cash and InstaPay support. No customer app, no sign-up.

Restaurant owners manage everything from a monochrome, Apple-grade dashboard: menus, images, opening hours, branch addresses, team roles, printable QR table cards, a live order board, and menu analytics.

The architecture is tenant-safe by construction: every database row carries a restaurant ID inside composite foreign keys, so cross-tenant reads are impossible even by accident. Orders are persisted with sequential numbers, unguessable public IDs and idempotency keys before any handoff — a flaky connection can duplicate nothing and lose nothing.

Built Arabic-first from day one: RTL as the default direction, locale-aware prices stored as integer piastres, IANA-timezone opening hours, and direction-aware motion throughout.

Results

Scan → order → WhatsApp in under a minute

Guest flow

Arabic-first RTL + English, both on every dish

Languages

Cash + InstaPay with proof upload

Payments

DB-enforced isolation on every tenant row

Multi-tenancy

Sequential numbers + idempotency keys

Order pipeline

18 tables, 38+ commits, migration-driven

Data layer

Gallery

Want something similar?

WhatsApp me
All workNext projectKhatma ختمة

Let's work together.

WhatsAppEmail

One email when a new project ships — no noise, unsubscribe anytime.

Newsletter

Elsewhere

GitHub
© 2026 Omar Mohamed. Built with care in Damietta, Egypt.Back to top