← Back to work

Wole

Completed Open site ↗

Wole

Wole

Wole is a restaurant's own online shop and operations system in one: the customer orders, the kitchen cooks and the driver delivers — all inside the same system. The restaurant gets a storefront under its own name, not a row in a directory that lists its competitors beside it.

The point was to remove three things: the pile of printed tickets, the "where is my order" phone calls, and the commission a marketplace takes on every sale.

What it does

  • For the customer — build a pizza on screen, pay online and follow the order: being made, in the oven, on its way, delivered. The driver shows on a map.
  • For the kitchen — one screen where orders arrive by themselves and move from stage to stage. Nobody stands by a printer.
  • For the driver — the address, the door code and navigation on a phone, plus delivery confirmation.
  • For the owner — menu, prices, opening hours, item availability and reports, all self-service.

How it works

Order state moves through a single state machine. Every transition is written to an event log, and both the kitchen board and the customer's tracking page are drawn from that same log. What the customer sees and what the kitchen sees therefore cannot drift apart.

Prices are always computed on the server. A total sent by the browser is not validated — it is ignored entirely. Money is handled as integer cents, so rounding errors do not occur.

Delivery addresses and distances come from our own address service (search.vikvek.fi), so the delivery fee is based on a real building rather than the midpoint of a street.

Technology

  • PHP 8.2 + MariaDB, server-rendered — no build step
  • Stripe for payments, with a webhook confirming each one
  • An Android app for drivers
  • The whole interface in Finnish and English, with translation coverage enforced by tests
  • Automated tests around pricing, the order state machine and multi-restaurant isolation

← Back to work