Kitchen Ops

How I built a procurement system as a working chef

By Moses Mubangizi · Published 24 June 2026 · 1 min read · Last updated 24 June 2026

How I built a procurement system as a working chef

I finish most days at 11pm. I get home, eat something, and open my laptop.

The stack is Next.js, Supabase, TypeScript, Tailwind. One person can build fast with this. No DevOps team. I am the team.

17 migrations. Organisations, departments, suppliers, products, inventory, requests, purchase orders, deliveries, issuances. Every table has row-level security. That last part took longer than I expected — not because it is hard to write, but because getting it wrong means someone sees data they should not see. In a kitchen system that tracks what you are spending and who you are buying from, that matters.

What took the longest was not the features. It was the workflow. How does a partial approval work? What happens when a delivery has fewer items than the PO? What if a supplier sends a substitute and the chef accepting delivery does not know the original order? These are operational problems. A developer without kitchen experience builds something that looks right in a demo and falls apart on a Tuesday lunch rush.

The bilingual challenge is real. Arabic is right-to-left. Every layout has to work both ways. I test every screen in both languages manually because automated RTL testing catches maybe half the issues.

2-3 hours a night. Some nights a feature ships. Some nights one bug gets fixed. All of it counts.

Every shift reminds me why this tool needs to exist.

mosematic.com/mise

Signed, Mosematic
reflectiontechmiseNext.jsSupabasebuilding
Moses Mubangizi, chef and developer in Riyadh
Moses Mubangizi
Chef de Partie in Riyadh with 10 years in East African and Gulf kitchens. Builds software for kitchens — Mise (restaurant procurement) and other products. Work with Moses.