"case_study": "ergonpro"
Running a hotel's invisible work
Hotel maintenance and housekeeping software for multinational operations — corrective fault tickets, preventive compliance logging, and reception operations in one system, localized into six languages.
"role"
Full-stack development — Next.js web app and Express + MongoDB backend
"stack": [6]
- Next.js
- Express.js
- MongoDB
- Socket.IO
- OpenAI
- Firebase
The problem
A hotel's guest experience depends on work guests never see: the leaking pipe reported by housekeeping, the pool chemistry checked every morning, the refrigerator temperatures logged for compliance. Most hotels run this on paper, radio calls, and memory — and with multinational staff, even the language of a maintenance ticket is a problem.
ErgonPro digitizes all three layers: corrective work (something broke), preventive work (checks that stop things breaking), and the reception operations that connect them to actual guests.
What was built
- Fault tickets scoped to a real hotel hierarchy — hotel → building → floor → room — with a category taxonomy (plumbing, electrical, AC, pool, painting, hardware) and a status workflow that includes real operational states like chronic, reopened, under inspection, and deferred-to-winter.
- Preventive compliance logging: cleaning and checkpoint forms, pool chemistry logs against configurable chemical targets, water-meter and refrigerator temperature logs.
- A reception module tracking guest stays and arrivals, so maintenance and housekeeping decisions see occupancy.
- Gamified category-points leaderboards for staff — making invisible work visible turns out to matter for morale.
- End-to-end-encrypted team chat over Socket.IO, with key exchange and session reset built into the messaging layer.
- OpenAI-powered insight and chat features on top of operational data.
- Six-language localization — English, Arabic, Albanian, Ukrainian, Filipino, Greek — because hotel staff are multinational and a ticket nobody can read doesn't get fixed.
Architecture decisions
- Around fourteen specialized roles — reception, reception manager, tech team, head of department, corporate technician, outside partner and more — because permissions had to mirror a hotel's actual org chart, not a generic admin/user split.
- MongoDB with Mongoose fits the per-hotel variability of buildings, forms, and logs; audit logging and tenant quotas sit in middleware.
- Faults outside rooms (grounds, facades, pools) carry map coordinates instead of a room reference.
The sequel
ErgonPro's fourteen hard-coded hotel roles taught a lesson: the next product, ErgonPlus, generalized the same task-workflow core into a vertical-agnostic platform with three generic roles and data-driven templates. That arc — specialize deeply, then extract the general shape — is covered in the ErgonPlus case study.