Every hostel student at my university wakes up to the same question: what's the mess serving, and is it worth walking down for?
The "official" answer was a PDF that nobody kept up to date. So I built the thing I actually wanted — a fast page that tells you today's food, with serving times, and lets students rate each meal so you know what you're walking into.
👉 Live: https://nustmessmenu.oddmancy.com
What it does
- Today — breakfast, lunch and dinner with serving timings, at a glance.
- This week — the full weekly menu so you can plan around the good days.
- Ratings & reviews — students rate each meal, so "chicken karahi" with a 4.5 reads very differently from one with a 1.8.
No login. No ads. Free.
The stack
Deliberately boring, because boring is reliable:
- React + TypeScript on the frontend.
- Cloudflare Workers serving it from the edge — cheap, globally fast, and it shrugs off traffic spikes (which mattered more than I expected — more on that another day).
- A small backend for the menu + review data.
- Tailwind for styling.
- SEO done properly: server-rendered content, a real sitemap, and structured data — so when someone searches the mess menu, the site actually shows up instead of a stale link.
What I learned
The engineering here is trivial. The part that made it stick was removing exactly one daily friction for a few thousand people. The ratings turned a lookup tool into something students check and contribute to — that loop is what keeps it alive.
If you're building something small, that's the bar worth aiming for: not "impressive," just "used every single day."
Try it
If you're a student (or just curious how the edge setup feels), take a look and leave a review on today's meals:
https://nustmessmenu.oddmancy.com
Happy to go deep on the Cloudflare Workers + SEO setup in the comments if anyone's interested.
