DEV Community

Morteza Riahi
Morteza Riahi

Posted on

I Built a QR-Based Restaurant & cafe System

I didn’t start this project thinking I was building a full product.

At first, it was just a simple idea:
Replace physical menus with QR codes.

But once I started looking deeper into how restaurants actually operate, I realized something important:

A menu alone doesn’t solve the real problem.

The issue is the entire ordering flow.

The Shift: From “Menu” to “System”

Most QR menu tools stop at a very basic level:

You scan
You see a menu
That’s it

But restaurants don’t need a static menu on a phone.

They need a system that actually works.

So I built something beyond that.

https://pleasescanmenu.com//
What PleaseScanMenu Actually Does

This is not just a QR menu.

It’s a full ordering and management system.

Login and Dashboard

Restaurants have access to a dashboard where they can:

Manage menus in real-time
Monitor incoming orders
Control table configurations
Adjust system behavior

Without login, there is no real control layer. It becomes just a tool, not a product.

Real Ordering Flow

Customers don’t just browse.

They can:

View menu items
Select and customize orders
Send orders directly from their phone

On the restaurant side:

Orders arrive instantly
Each order is tied to a specific table
No manual input is needed
The Core Idea That Changed Everything

At some point, I stopped thinking in terms of users.

I started thinking in terms of tables.

Each table acts as:

A session
An identity
A source of events

This simplifies a lot:

No need for customer accounts
Orders are naturally grouped
State becomes easier to manage
Real-Time as a Requirement

One of the biggest lessons was this:

If it’s not real-time, it breaks the experience.

The system is designed so that:

Menu updates reflect immediately
Orders appear instantly
Notifications are delivered without delay

Otherwise, staff will revert to manual processes.

Why Login + Ordering Matters

Most QR menu tools miss one of these:

They either don’t have login
Or they don’t support real ordering

Without login:

No persistence
No control
No system

Without ordering:

No real value

Combining both turns it into a lightweight SaaS product for restaurants.

Tech Stack

This was built end-to-end as a personal product:

Next.js (App Router)
TypeScript
Prisma
PostgreSQL
Custom dashboard logic
QR code generation system
Real-time interaction layer

Deployment and DevOps were also handled from scratch.

What I Learned

Several things became clear during development:

Simple ideas often become complex in real-world execution
Reducing friction is more valuable than adding features
Identity doesn’t always require user accounts
Real-time systems significantly improve usability
Final Thought

What started as a simple idea:

Replace menus

Turned into something bigger:

Redesigning the ordering experience inside restaurants.
QR Menu Cafe System

Top comments (0)