BACK TO BLOG
Case Study 2025-01-25 8 min read

How We Digitized a Traditional Restaurant in 2 Weeks

From pen-and-paper orders to a full online platform — the Upalis story.

The Client

Upali's is a premium Sri Lankan restaurant in Colombo — known for signature dishes like their famous Baduma (fried banana flower & peanuts) and a traditional Hathmaluwa (7-in-1 vegetable curry). They manage 103+ menu items across 14 categories, from Signature Dishes and Rice & Curry to Hoppers & Rotis, Seafood, and Breakfast Specials.

Like most restaurants in Sri Lanka, everything ran on paper — handwritten orders, printed menus, phone-based delivery coordination. It worked, until it didn't.

The Challenge

Upali's was losing customers to platforms like Uber Eats and PickMe Food — but those platforms take 25–30% commission on every order. For a restaurant operating on thin margins, that's the difference between profit and loss.

Order taking
Manual, phone-based — errors, missed orders during rush hours
Menu updates
Required reprinting physical menus — slow and expensive
Online presence
No website, no delivery/takeaway system of their own
Data & insights
No visibility into popular items, peak hours, or revenue trends
Third-party fees
25–30% commission on every Uber Eats / PickMe order
Multi-language
Menus needed in English, Sinhala, and Tamil — triple the printing

“Every order through Uber Eats costs us 30%. On a Rs. 3,000 order, that's Rs. 900 gone — just for the platform. We needed our own system.”

The Solution

We built a custom restaurant management platform from scratch — not a WordPress template, not a SaaS reskin. A production-grade system tailored to how Upali's actually operates. Zero third-party PHP dependencies. 59 PHP files. 24,733 lines of code.

Order Management

Online ordering with delivery, pickup, and dine-in support. Real-time kitchen display system. Bulk status updates.

Digital Menu

103+ items across 14 categories with images, dietary filters (vegetarian, vegan, spicy), search, and multilingual support (English, Sinhala, Tamil).

Admin Dashboard

21 admin modules — orders, menu CRUD, discounts, reports, reservations, kitchen display, integrations, and role-based access control.

Mobile-First PWA

Progressive Web App — installable on any phone. Offline caching, push-ready, responsive design. No app store needed.

Zero Commission

PayHere payment integration (Visa, MasterCard, LankaQR, mCash) + cash on delivery. The restaurant keeps 100% of revenue.

Business Intelligence

Revenue charts, popular items tracking, peak hour analytics, customer loyalty program with Bronze/Silver/Gold/Platinum tiers.

Under the Hood

This wasn't a quick MVP. We built enterprise-grade infrastructure that a restaurant can actually rely on.

Backend
PHP 8.0+ — zero dependencies, native PDO
Database
MySQL — 24 tables, full relational schema
Frontend
Vanilla JS — no frameworks, zero bloat
Caching
3-tier: Redis → APCu → File
Security
OWASP Top 10, PCI-DSS, CSRF, rate limiting
Auth
Argon2ID hashing, RBAC (Owner/Manager/Staff)
Payments
PayHere (HMAC-verified webhooks) + COD
Deployment
cPanel one-shot installer, ScalaHosting

Security — Not an Afterthought

Restaurants handle payment data and customer addresses. We treated security as a first-class requirement, not a checkbox.

Parameterized queries (zero SQL injection surface)
CSRF tokens with 1-hour expiry
Rate limiting: 60 req/min, 5 login attempts/15min
Fraud detection: honeypot fields + reCAPTCHA v3
Session hardening: HTTPOnly, Secure, SameSite
Tamper-evident audit trail logging
Security headers: CSP, HSTS, X-Frame-Options
Pentested with PhantomDragon AI

The Results

103+
Menu Items Digitized
14
Categories
0%
Commission Fees
3
Languages Supported

Full platform built, deployed, and live on cPanel hosting

103+ menu items with images, dietary flags, and trilingual descriptions

Admin can update menu, prices, images, and availability in real-time

Kitchen display system for real-time order management

Reservation system with table management

Loyalty program driving repeat orders (4-tier point system)

One-shot cPanel installer — seeds 14 categories + 103 items automatically

The Math

The real win isn't the technology — it's what the restaurant stops paying every month.

Monthly delivery orders (estimate)~$5,000
Uber Eats / PickMe commission (30%)−$1,500/month
Own platform hosting cost−$15–30/month
Monthly savings~$1,470/month
Annual savings~$18,000/year

* Estimates based on typical mid-range restaurant delivery volume in Colombo. Actual results vary by order volume and average order value.

Before & After

Before

Handwritten orders, phone-based delivery

Printed menus in one language

No online presence

30% commission on every platform order

No data on popular items or peak hours

Menu changes = reprint everything

After

Digital ordering with real-time kitchen display

Trilingual menu (EN, SI, TA) — instant updates

Full PWA — installable on any phone

Zero commission — restaurant keeps 100%

Analytics dashboard with revenue & trend data

Menu updates in seconds from admin panel

Tech Stack

PHP 8.0+MySQLVanilla JSPWAPayHereArgon2IDRediscPanelApache

Want to Digitize Your Restaurant?

Zero commission. Custom-built. Your platform, your data, your customers. We'll build you a system that pays for itself in months — not years.

Get a Free Consultation