Zenbu
Build Your Own Bowl - asian fusion takeaway.
Summary
An asian fusion takeaway app inspired by Wok to Walk. The hallmark feature is ”Build Your Own Bowl” where the customer picks base, protein, vegetables, and sauce. Two views: a customer flow with order tracking and a staff view to handle incoming orders. The name Zenbu (全部) means ”everything” in Japanese.
Stack
Highlights
- Customizable bowl builder with live price updates
- JWT auth via httpOnly cookies instead of localStorage
- Two separate flows - customer and staff - in the same app
Background
School project, four people on the team. We were tasked with building a takeaway app inspired by Wok to Walk - asian fusion, customizable bowls. The name Zenbu (全部) means "everything" in Japanese, which fits the build-your-own concept.
What we built
Two flows in one app:
- Customer view - you build your bowl by picking base, protein, vegetables, and sauce. Price updates live as you add ingredients. Order tracking after checkout.
- Staff view - separate login, sees incoming orders, can mark them "in preparation" / "ready for pickup" / "delivered".
Technical choices
- JWT in httpOnly cookies instead of localStorage. A bit more backend config, but XSS attacks can't steal the token.
- Zustand for state - much simpler than Redux for an app this size, and none of us had used it, so we picked up something new.
- MongoDB for flexible ingredient modeling - bowl configurations can look any way, schemaless fit.
Deployed with the React frontend on AWS S3 and the Express backend on Render.
My role on the team
We split work across frontend / backend / design / DevOps but worked closely. I owned the auth flow (httpOnly cookies were new to all of us) and the deploy pipeline.
What I took away
Working on a team of four is a different sport from going solo. We spent more time syncing than I'd expected - and it was worth it. Code reviews caught things I never would have spotted alone.