*This is a submission for the [MLH x DEV Writing Challenge](https://dev.to/mlh-hackathon)*
**Author:** [Ravi Saxena](https://dev.to/ravi_saxena_6fd4d0ef1c9cb) ([@ravi_saxena_6fd4d0ef1c9cb](https://dev.to/ravi_saxena_6fd4d0ef1c9cb)) — solo. No teammates.
HotelFlow is a hotel operations engine, not a guest chatbot.
After a guest books, the hard part is everything before checkout: late arrivals, dirty rooms, a broken AC, extra towels, a VIP moved up, and two staff off the floor. That story usually lives in WhatsApp and phone calls. A manager keeps asking: what should we do right now?
HotelFlow reads one Excel workbook (rooms, staff, reservations, rules, chaos events) and builds a live queue for the next 5, 15, and 30 minutes. It scores each job (urgency + guest impact + arrival time + VIP / out-of-order), assigns people by skill and floor, and escalates if nobody is free.
The interesting piece is Event → impact → priority → assignment → resolve. Click Simulate hotel chaos and the plan rewrites itself. I did not build another PMS. I built the layer that decides what is next.
What I learned: storing “room 101 = occupied” is easy. Conflicting priorities with four people and twelve jobs is the actual product.
Live (no login): [https://hotelflow-gamma.vercel.app/](https://hotelflow-gamma.vercel.app/)
Code: [https://github.com/Ravi-Saxena-kronos/hotelflow](https://github.com/Ravi-Saxena-kronos/hotelflow)
Room 302 bathroom is leaking and guest arrives at noon → I did not use a paid MLH perk token in this build.
Stack: Next.js 14, TypeScript, Tailwind, Vercel, and xlsx to import the hotel workbook. The decision engine is in src/lib/engine.ts — not an LLM chatbot.
Vercel is serverless, so chaos / resolve / typed incidents send the current hotel state with the request. The default hotel is the Excel file in the repo (data/HotelFlow-input-template.xlsx).
Solo build. I am the only author.
I built HotelFlow as an operations control room for a problem I see in hotels: the desk is not short on screens; it is short on one next action when everything breaks at once.
The part I will remember is the chaos button. A calm map is not a demo. Injecting the Excel chaos playbook (checkouts, AC, leak, VIP moved to 11:00, two staff unavailable) and watching NOW / 15 / 30 reorder is the story.