The system behind the screens.
Hospitality operations are full of time-sensitive decisions, scattered customer context and hand-offs between people. The product challenge was to make that complexity feel calm without hiding the operational detail teams rely on.
Design the product and architecture together.
I treated reservations, availability and operations as connected product domains—not a pile of screens. Clear boundaries kept the core model understandable while real-time events made changes visible where they mattered.
What had to be true.
- Model tenant boundaries explicitly from the first release.
- Keep the core transactional path deterministic; move side effects to events.
- Design operational views around decisions, not database entities.