+18% orders through the new online channel in the first week
Â
An online ordering platform for a pizza chain that acts as a full sales channel and stays connected to the chain's internal accounting system. The customer places an order on the site, picks a delivery option, pays online, and receives delivery via an automated dispatch flow. Product data and categories pull from SURF (the chain's accounting system), so the assortment and prices stay in sync without manual duplication across locations.
Â
Alex is a serial entrepreneur whose portfolio includes a pizza chain built around a strong signature recipe. He wanted to launch online sales and connect them to the existing offline infrastructure. The chain sells a mass-market, low-ticket product in a category where customers already expect fast delivery — which sets a high bar for system reliability, especially around payments and dispatch. Alex also wanted an automated, scalable delivery model in which both ride cost and total order amount are known to the customer before payment.
Â
Reliable taxi dispatch
Â
The dispatch flow had to run reliably across every location and every delivery address. The worst-case scenario — order paid, delivery never started — had to be impossible by design.
Â
Accurate delivery pricing before payment
Â
Delivery cost had to be calculated upfront and shown in the receipt before payment, to eliminate price mismatches and post-checkout disputes.
Â
Seamless online payments
Â
The payment flow had to stay simple and stable: the customer pays once, gets a clear confirmation, no retry loops.
Â
SURF as the source of truth
Â
Assortment, categories, and product logic had to flow from SURF, so a chain of locations wouldn't need ongoing manual administration of the catalog.
Â
Turnkey commerce stack
Â
The client needed a ready-to-use sales system with integrations baked in, not a custom build from scratch.
Â
Multi-system orchestration
Â
E-commerce, payments, accounting, and delivery all had to combine into one consistent, observable process — not four loosely coupled services that drift out of sync.
Â
To stand up the storefront fast, we started from a Next.js food-vertical template and adapted it to the chain's brand and ordering scenarios. We structured the integration layer so SURF remains the source of truth for products and categories, Directus handles intermediate entities and configuration, and delivery and payment operate as parts of one coordinated checkout — not three loosely connected systems.
Â
Next.js storefront on a food-vertical template
Â
Instead of designing from scratch, we selected a ready-made food template and adapted it to the brand and catalog structure. That accelerated time to production and concentrated engineering effort on the integrations and the checkout logic — the parts that actually carry the business risk.
Â
Directus for configurable data
Â
We used Directus as the backend core for the configurable layer — cart configurations, lookup lists, page settings, and parameters that the operations team should be able to update without a release queue. This gives the chain direct control over content and operational settings.
Â
SURF integration as catalog source of truth
Â
We integrated SURF so categories and products on the storefront sync from the accounting system. We also designed a secondary scenario in which the online store could double as a digital cash register inside the pizzerias themselves — one less standalone system to maintain.
Â
Delivery via Uber Direct
Â
We integrated Uber Direct for automated driver dispatch on every delivery order. As the client required, the ride cost is calculated before payment, shown in the receipt total, and paid upfront. This makes delivery predictable for the customer and removes the operational disputes that surface after checkout.
Â
Payment layer
Â
We integrated Point GateWay and LinkPay to give the chain a stable checkout. The payment flow ensures an order only transitions to "delivery" after a successful transaction, with a clear confirmation surfaced to the customer.
Â
A single coordinated order chain
Â
All integrations operate as a single coordinated system, where order states and key events — payment, confirmation, taxi dispatch — couldn't drift out of sync. The goal was to minimize manual staff work and reduce error rates during peak hours, when the cost of a stuck order is highest.
Â
On the kickoff call, the owner and operations manager highlighted that the chain couldn't afford to maintain a parallel catalog or keep reconciling data manually across locations. We identified where errors actually occurred in the chain's operating process and agreed that the catalog had to update from the accounting system, with the storefront layered on top. By the end of the call we defined the key success criterion: the scenario "paid, but delivery never started" must be impossible.
Â
+2 Resource
In the first week alone, the new online channel resulted in +18% orders, with the incident rate remaining below 0.5% over the following 8 weeks.
Â
orders through the online storefront (first week)
incident rate, even during peak hours (rolling 8 weeks post-launch)
manual delivery operations by staff — taxi dispatch and order data transfer happen automatically
receipt-total disputes — delivery cost is known before payment
manual catalog updates on the website — seasonal items and new prices sync from accounting
time from checkout to delivery start — faster logistics across the whole chain
Or send us a message and we'll get back to you within 15 minutes during business hours