N°07
Vendo
Restaurant Platform 2026
The all-in-one restaurant platform. Online ordering, POS, kitchen management, and analytics — flat monthly rate, no per-order fees.
The challenge
Independent restaurants pay the ordering platforms twice: a cut of every order and a menu that belongs to someone else's app. A pizzeria needed online ordering, a point of sale, a kitchen display and the numbers, on its own domain, for a price it could predict.
The approach
One Next.js application carries the storefront, the POS and the kitchen display; a websocket service on Redis moves each order to every screen the moment it is placed. Every restaurant is its own deployment — app, websocket, Postgres, Redis — so nothing is shared between tenants and each can be moved, restored or scaled alone. Payments run through Stripe, mail through Resend, and the price is a flat monthly rate with no per-order fee.
Result
Flat monthly rate. No per-order fees.
The order reaches the kitchen before the customer has put the phone down.
The evidence
Live screenshots, not mockups.
-
The homepage — ordering, POS, kitchen and analytics on one flat rate. -
Full length — every module of the platform in order. -
Mobile at 390 pixels — the platform is ordered from a phone first.
Case study
Vendo is the all-in-one restaurant platform: online ordering, point of sale, kitchen management and analytics, on the restaurant’s own domain, for a flat monthly rate. The first restaurant on it is a pizzeria; the platform was built around its counter.
What’s running
One Next.js application carries the customer’s ordering site, the staff’s point of sale and the kitchen display. Beside it runs a websocket service on Socket.IO with the Redis adapter, so an order placed on a phone is on the kitchen screen at once. Each restaurant has its own Postgres 17 and Redis 7; nothing is shared between tenants.
One restaurant, one deployment
A restaurant on Vendo is a pair of services and a pair of stores, deployed under its own name. That is what lets each one be restored from its own snapshot, moved between hosts, or scaled on its own night, without touching another’s.
Money and mail
Card payments run through Stripe; no card data touches the platform. Confirmations and receipts are React Email templates sent through Resend. The price is a flat monthly rate — no per-order fee, ever.
The numbers
Sales, items and hours are charted for the operator from the same database the orders live in, with nothing exported to a third party to be counted.
Hosted and operated by MoonFactory
Every restaurant’s services run on infrastructure we own, Cloudflare-fronted, deployed by KANBANi from release branches with a restore point taken before any change to its data. We own the uptime commitment.
The live site
Visit the live site at vendo.pizza (opens in a new tab).
Stack proof
Every claim is verifiable.
- Next.js
- The ordering site, the POS and the kitchen display are one Next.js application, server-rendered, Tailwind-styled. Confirmed by the X-Powered-By header on the live site.
- Socket.IO on Redis
- Orders move from the customer to the kitchen over a websocket service with the Redis adapter, so every screen in the restaurant sees the ticket the moment it is placed.
- Postgres 17 and Redis 7
- Each restaurant gets its own database and its own cache: no tenant shares a table with another.
- Stripe
- Card payments through Stripe; no card data touches the platform. The rate is flat and monthly — no per-order fee is taken.
- Resend and React Email
- Order confirmations and receipts are React Email templates sent through Resend.
- MoonFactory-hosted
- Every restaurant runs as its own pair of services — the app and its websocket — with its own Postgres and Redis, on infrastructure we own and operate, Cloudflare-fronted, deployed by KANBANi.
Infrastructure
- App Next.js
- WS Socket.IO
- DB Postgres 17
- KV Redis 7