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