Mamoon Rajaprod · mamoon's digital persona
Forward-Deployed AI EngineerDubai (DIC)open to work
← All work

Own product · pre-launch

Telamenu

QR-code ordering for restaurants: a diner scans the code on the table, browses on their own phone with nothing to install, and the order goes straight to the kitchen. A 2026 rebuild of a product first built in 2021.

Product
Mine, pre-launch
Role
Full-stack, end to end
Payments
Mock mode only
The Telamenu site

Demo dish photography from Wikimedia Commons, CC BY-SA: Adana kebab (E4024), Baingan Ka Bharta (Zeel Patel), Tandoori chicken (pelican).

The problem is the table, not the menu

A paper menu is stale the moment a price moves, and reprinting it is the reason it stays stale. Meanwhile the diner is holding a supercomputer they will not install an app on for one meal.

So the paper becomes a QR code on the table. Scan it, browse on your own phone, order, and the order arrives in the kitchen — no app, no waiter's notepad, and no marketplace taking a cut in between.

Four roles that never share a screen

The diner never signs in and never registers. The owner is the buyer: they build the menu, set prices, upload photos, publish languages and print QR codes, usually between service periods rather than at a desk. Staff are operations-only — kitchen screen, waiter board, order history — and cannot see revenue or touch menu content. A platform operator invites restaurants and sets commission.

Nobody self-registers. Onboarding is invite-only and one-time: inviting a restaurant creates an unclaimed record plus a single owner link, and owners then invite their own staff. Every role and every per-restaurant boundary is enforced on the server, not in the interface.

The ordering flow is the product

A dish with choices opens a sheet where the required groups have to be answered before the item can be added at all — the button stays disabled and says why. Choices travel with the line into the cart, and into the kitchen, and onto the order the diner watches afterwards.

The cart asks the small questions a waiter would: something to drink, cutlery or not — phrased as reducing waste rather than as an upsell — and anything else the kitchen should know. After ordering, the diner tracks status against their table number, and can call a waiter or ask for the bill without flagging anyone down.

At the table the diner sees the restaurant's own name and colour. The platform is deliberately invisible.

Built to be straight with the restaurant

The AI that reads a photograph of a paper menu and drafts dish descriptions is provider-agnostic across Anthropic, OpenAI and Gemini, and when no key is configured it says so plainly instead of inventing a menu. Commission is an append-only ledger with the rate frozen on each entry, so a rate change never rewrites what a restaurant was charged last month.

Email is provider-agnostic too — SMTP, SendGrid, SES and Azure — behind an encrypted, write-only credential store, so an owner's keys can be set once and never read back. Accessibility is held to WCAG 2.2 AA and verified by measurement rather than by eye.

Payments deliberately run in mock mode: cash at the table is the pilot, and a gateway goes in when a restaurant picks one. The product is pre-launch, with one seeded demo restaurant, Zaiqa House, standing in until the first real one arrives.

Built with

ReactViteTypeScriptExpressPrismaPostgreSQLTailwindshadcn/uiDocker