Buffalo Eats Online

Project Overview

The Problem: A WNY restaurant owner was paying five different vendors — one for online ordering, one for reservations, one for POS, one for a website, and one for a kitchen display. None of them talked to each other. Orders placed online didn't appear in the kitchen. The menu on the website didn't match the POS. Every vendor charged monthly.

The Approach: Build one platform that replaces all five. Multi-tenant SaaS so each restaurant gets its own branded storefront, but shares the same codebase and infrastructure. Custom PHP MVC framework — no Laravel, no WordPress — because the real-time requirements (kitchen display, live order tracking) demanded SSE (Server-Sent Events) architecture that framework abstractions would have complicated.

What Was Hard: Tenant isolation was the core architectural challenge. Every database query, every file upload, every session has to be scoped to the correct restaurant. I built a TenantContext that resolves from subdomain, custom domain, or query parameter and threads through every layer. The AI Smart Order feature — parsing "two pepperoni pizzas, no onions, extra cheese" into structured cart items via Claude API — required careful prompt engineering and fallback handling when the AI misinterprets.

The Result: 272 database migrations. 14 menu display styles. SSE-powered real-time kitchen display. Full Playwright + PHPUnit test coverage running nightly via ARIA. The platform is live at buffaloeatsonline.com.
Project Details
Client Buffalo Eats Online
Category SaaS Platform
Year 2025
Technologies
PHP 8.1 MySQL Claude AI SSE PWA Stripe Playwright
View Live Site Start a Similar Project