Product engineering

Firing a Kiosk Vendor: Rebuilding SVSFood's Ordering Stack From Scratch

Three outlets, one vendor, a subscription per terminal and downtime nobody controlled. Here is why I replaced the whole thing with code the client owns, and what it cost to do it properly.

Author

Published

Updated

Length

9 min · 1,100 words

Key takeaways

  • The trigger was not price alone: recurring per-terminal fees, vendor downtime, and zero control over UI or customer flow.
  • Replacing one vendor meant building four products: kiosk, admin console, ordering website, and rider app.
  • One menu and inventory source feeds every channel, so a price change happens once.
  • SVSFood reported ₹40L+ revenue in the first month on the new stack.
  • Ownership is the feature: the client can change flows without filing a vendor ticket.

SVSFood runs three food outlets in Madhya Pradesh. They were paying a vendor for kiosks, paying another template for online ordering, and could not see one inventory across either. When the vendor had a bad day, the counter had a bad day. This is the story of removing that dependency, documented in the SVSFood case study.

The real cost of a kiosk subscription

The invoice is the visible part. The hidden part is control. You cannot reorder the menu flow, run your own coupon logic, or fix a bug on your timeline. Every improvement is a feature request in someone else's backlog. For a restaurant, where the counter is the product, that is a strategic risk.

One vendor out, four products in

  • Kiosk app: touch-first React Native for 10-inch tablets, with customisation, add-ons, coupons, QR receipts, and kitchen tickets.
  • Admin console: Next.js dashboard for menu, inventory, coupons, live orders, roles, audit log, and analytics across outlets.
  • Ordering website: branded Next.js storefront on the same menu, with live order tracking.
  • Rider app: React Native with order assignment, maps navigation, and status updates that sync to the console and the customer.

One source of truth

The architectural decision that mattered: every client talks to the same API and the same PostgreSQL database. A coupon created in the console works at the kiosk and on the website. A sold-out item disappears everywhere. The deeper write-up is in One Fastify Backend, Four Clients.

Frequently asked questions

Why replace a kiosk vendor with custom software?

SVSFood paid a recurring subscription per kiosk terminal, hit service issues at outlets, and could not change branding or the customer flow. Online ordering ran on a separate templated site with no shared inventory. Owning the stack removed the per-terminal fee and the downtime dependency.

What did Vishu Pratap build for SVSFood?

A React Native self-ordering kiosk, a Next.js admin console, a custom online ordering website, and a React Native delivery rider app, all backed by one Fastify and PostgreSQL API. Case study: https://vishu.app/cases/svsfood
SVSFoodKioskVendor lock-inReact NativeProduct engineering
©2025Vishu Pratap · Software Developer