Technophobia Logo

Two React apps, one platform, 26 database migrations — TP Food for Dottites

A case study of how we built a bespoke food ordering platform for a Carlisle takeaway, replacing third-party platforms that took a percentage of every order. WooCommerce-backed, two React frontends (customer and operator), delivery slot management, addon groups, exception dates. In production today.
UK FLAG
UK Based
Support
26
DB Migrations
17
REST Controllers
WooCommerce
Payment Backed
Project · TP Food

What TP Food actually does

Built for Dottites, a Carlisle-based takeaway tired of paying commissions on every order through third-party platforms. The system replaced commission-based ordering with a direct-booking platform owned outright by the business — and added operational features no third-party platform offered.
Two React Frontends
Customer-facing ordering app for the website. Separate operator app for the kitchen and counter team. Each optimised for its specific workflow. Each consuming the same REST API.
Delivery Slot Management
Customers choose a delivery or collection slot. Operators see live order load per slot. Slot capacity configurable per day and per service type. No more 'sorry we're too busy' calls back to customers.
Addon Groups & Variants
Pizza with side, drink and sauce add-ons. Sandwich with bread choice, fillings, extras. Each menu item can have unlimited addon groups with configurable mandatory and optional selections.
Exception Dates
Closed on bank holidays. Reduced menu on Sundays. Delivery suspended in bad weather. Exception dates let the operator override standard rules for specific days without touching the menu.
WooCommerce Payments
Real payment processing — cards, Apple Pay, Google Pay, all via WooCommerce. Refunds and partial refunds handled through the standard WooCommerce admin. No third-party payment intermediary taking a percentage.
Kitchen Workflow
Orders flow to the kitchen operator app as they come in. Items can be marked started, ready, out-for-delivery. Customers get SMS or email notifications at key milestones. Audit log of every status change.
Why this project mattered

Commission-based platforms were quietly eating the margin

The Problem
Third-party food platforms (Just Eat, Deliveroo, Uber Eats) typically take 14-30% of each order plus a fixed fee. On a £25 average order, that's £3.50-£7.50 going to the platform every time.
The Constraint
Building custom food-ordering software from scratch is normally a six-figure project. A small takeaway business can't justify that, even when the platform fees are stacking up.
The Decision
Build a properly engineered platform using AI-accelerated development and WooCommerce as the payment layer. Keep build cost manageable. Deliver in weeks, not months.
The Outcome
Production system in daily use. Every direct order saves the commission that would otherwise have gone to a third-party platform. Customer data stays with the business.
The architecture

WordPress plugin. Two React apps. PHP REST API. 26 migrations.

TP Food is structured as a single custom WordPress plugin with everything inside it.

The backend is a PHP REST API exposing seventeen controllers — menu items, addon groups, variants, delivery slots, exception dates, orders, order items, payments, refunds, customers, audit logs, and more. Twenty-six versioned database migrations sit behind it, each one a self-contained schema change that can be rolled back.

The frontend is built with Vite, React and TypeScript, using shadcn/ui components. Two separate React applications are bundled into the plugin — the customer ordering app and the operator app — sharing types and utility code via a common library. Each app gets its own optimised production build.

WooCommerce sits underneath for payments. The plugin creates and manages WooCommerce orders programmatically through the WooCommerce REST API, so the food ordering UI doesn't have to touch a payment processor directly. Refunds, partial refunds and reconciliation work through standard WooCommerce admin.
How we approached the build

Same methodology as the LMS — Project File, sandwich prompts, Wilson

TP Food was built using the same AI-accelerated methodology we used for the Learner Management System.

A Project File acted as the AI agent's external memory throughout the build — capturing the data model, the business rules, the deployment process and the boundary cases. Every coding session referenced the Project File and produced milestone journal entries tracking what changed, what was tested, and what the commit hash was.

The architectural thinking was done with Claude — modelling the order lifecycle, the delivery slot allocation logic, the addon group resolution, the kitchen state machine. The code execution was done with Wilson (our name for GitHub Copilot) in milestone-by-milestone sessions, each session bounded by the Restraints layer of the sandwich prompt to prevent scope creep.

The result was a fully production-grade system delivered in a fraction of the time a traditional development house would have quoted.
Building Without Code: How AI-Assisted Development is Changing Websites
Delivery slot logic

Per-slot capacity, configurable per day, with exception overrides

Delivery slot management is one of the features that off-the-shelf food ordering platforms get wrong most often. TP Food solves it properly.

Standard slots are configured per day per service type. Each slot has a maximum capacity expressed in either order count or kitchen-minute weight. When a customer picks a slot at checkout, the system reserves capacity. When orders are completed, capacity frees up — so a slot that was full earlier in the evening can reopen if orders are dispatched early.

Exception dates override the standard configuration. Closed on Christmas Day? Add an exception. Reduced menu on Sunday lunchtime? Define a Sunday-lunch exception with fewer slots and a limited menu subset. Bad weather closure? Toggle a same-day exception that suspends new orders until lifted.

All of this is configurable through the operator React app. No developer needed for ongoing changes.
The customer ordering app

Optimised for fast, low-friction ordering on mobile

The customer-facing app loads on the takeaway's WordPress site. Mobile-optimised by default — most customers order from a phone at home. Categories scroll horizontally, menu items have photos, and addon selection is a single tap-through bottom sheet.

Slot selection happens after the basket but before payment. The customer sees available slots for today and a couple of days ahead, with full slots greyed out automatically. Once a slot is selected, the customer has a fixed window to complete checkout before the reservation expires.

Payment runs through WooCommerce — Stripe, Apple Pay, Google Pay are the default options. The customer gets order confirmation immediately, then SMS or email updates as the order progresses through the kitchen. The whole flow takes under 60 seconds for a returning customer with saved details.
The operator app

Real-time order queue with status workflow built in

The operator-facing app runs on a tablet or screen in the kitchen and behind the counter. Orders appear in real time as customers complete checkout. Each order shows the items, the delivery slot, the customer's notes, the payment status, and a status workflow specific to that order type.

Status flow for a typical delivery: New → Preparing → Ready → Out for Delivery → Completed. Status flow for collection: New → Preparing → Ready → Collected. Each status transition can trigger a customer notification automatically. The operator just taps the next status; the system handles the messaging.

Daily, weekly and monthly summaries are built in. Order volume, revenue, average ticket size, peak slot times, popular addons, customer return rates. The operator app doubles as a lightweight business intelligence dashboard for the takeaway owner.
What this proves

Bespoke food ordering is a viable option for small operators

TP Food proves that a small independent takeaway can have a bespoke ordering platform — owned outright, with no per-order commission, and with operational features designed around the actual workflow.

The traditional argument against custom food ordering software was that the build cost was prohibitive for small operators. Six-figure quotes for properly engineered systems pushed everyone toward the commission-based platforms, even though those platforms eat the margin order after order.

AI-accelerated development changes that arithmetic. A genuinely bespoke food ordering platform can now be built for a price comparable to a year or two of commission payments to third-party platforms — and after that, every direct order is fully retained margin.

If you run a takeaway, restaurant, dark kitchen or any food-service operation paying commission to third-party platforms, TP Food (or a customised version of it) is worth a conversation.
26
Database migrations versioned
17
REST API controllers built
2
React apps in one plugin
0%
Commission to third-party platforms
Who else this approach works for

Other industries paying commission on every transaction

Takeaways & Restaurants

Online ordering, delivery slot management, kitchen workflow. The original TP Food deployment.

Dark Kitchens

Multi-brand ordering through one operational interface. Slot capacity shared across all brands.

Holiday Lets

Direct booking that bypasses Airbnb commission. Holiday Home Booking plugin.

Campsites

Direct booking that bypasses Pitchup commission. Motorhome Booking plugin.

Activity Operators

Direct booking that bypasses Viator and GetYourGuide commission. Way Out West uses our TPOPB plugin.

Event Venues

Direct ticketing and supplier coordination. Lakeland Life uses our TP Event Management plugin.
What Dottites said

A real customer using the system every day

How we'd build yours

The same three-step process used to build TP Food

Discover
A 60-90 minute discovery workshop where we map your menu structure, slot rules, kitchen workflow, payment processor and integration requirements. We come back with a written scope and a fixed-price quote.
Build
For TP Food the build was around 8-10 weeks. For your project it will be whatever your scope demands. Every milestone documented with commit hashes. Staging URL from week one. Weekly demos.
Launch & Support
Deploy to your hosting. Train your kitchen team on the operator app. 30 days of bug-fix support included. Optional ongoing support thereafter.
Common questions about food ordering builds

Things prospects ask before signing a build agreement

How long does a TP Food-style build take?

Typically 8-12 weeks for a build with full customisation of menu, slot rules, addon groups and kitchen workflow. Simpler deployments based closely on the existing TP Food template can be done in 6-8 weeks. Every quote is fixed-price after a discovery call.

Yes — we can build dual-brand support into the same operator app, with separate menu structures and branding for each, but shared slot capacity and kitchen workflow. Common for dark kitchens running multiple delivery brands from one location.

Yes. The platform supports collection, delivery, and table-order modes. Each mode has its own slot rules and status workflow. A single takeaway can offer all three; customers pick at checkout.

Yes. We can build third-party platform integration if you want to keep your existing Just Eat or Deliveroo presence alongside your direct ordering. Most clients eventually phase down the third-party platforms once direct ordering is established, but it's not all-or-nothing.

Yes. We can build SMS or email customer notifications, kitchen printer integration, and loyalty schemes. Each adds to scope but they're well-trodden territory. We'll quote each module separately at discovery.

Fixed price after the discovery call. A full TP Food-style build typically falls between £15,000 and £25,000 depending on your customisations. We invoice in milestones — deposit on agreement, payments at midpoints, balance on delivery.
Tired of paying commission on every food order?
Let's talk about what a custom ordering platform would look like for your business — and whether the maths makes sense for you.

Technophobia

n8n automation for small teams. UK-based. Fast turnarounds. Clear handovers.

Address
South Cumbria Skills Exchange
Millom
LA18 4JS
United Kingdom

Phone +44 01229 774591
Email hello@technophobia.uk

VAT registered • GDPR-aligned • Typical lead time: 1–2 business days