Back to all projects
Hospitality · Property Technology20262 Weeks Build
Hotel & Unit Management ERP
Centralized cloud ERP for hotel and property operations — projects, units, staff, vendors, and maintenance workflows on one platform.
Client EntityIndependent Product (Hospitality Operations)
My RoleFull-Stack Engineer & UI Architect
Delivery Time2 Weeks Build
Tech StackNext.js, TypeScript + 5 more

01 // The Problem
Friction, Inefficiency & System Barriers
Maintenance requests across hotel properties were tracked informally — issues got lost between shifts, nobody could prove completed work, and managers had zero visibility into resolution times or worker load.
02 // My Approach & Decisions
Architectural & UX Decisions
Designed a strict role-based system (Admin, Sub-admin, Manager, Worker) with a formal issue lifecycle — Open → In Progress → Resolved / Rejected — plus priority levels, worker project assignments, and mandatory before/after/verification photo proof on every ticket.
03 // Technical Depth
Code Moment: Engineered Core
Guarded Issue Status Transitions
typescript
| 1 | const ISSUE_TRANSITIONS: Record<IssueStatus, IssueStatus[]> = { |
| 2 | OPEN: ['IN_PROGRESS', 'REJECTED'], |
| 3 | IN_PROGRESS: ['RESOLVED', 'REJECTED'], |
| 4 | REJECTED: ['OPEN'], |
| 5 | RESOLVED: [], |
| 6 | }; |
| 7 | |
| 8 | export function canTransition(from: IssueStatus, to: IssueStatus): boolean { |
| 9 | return ISSUE_TRANSITIONS[from].includes(to); |
| 10 | } |
Maintenance tickets move through a strict lifecycle — the transition map makes illegal status jumps impossible, keeping every work order auditable.
04 // Measurable Results
Verified Production Benchmarks
4User Roles
4 StatesIssue Lifecycle
3Proof Stages
ZodForm Validation
Key Capabilities Delivered
- Role-based workspaces for Admin, Sub-admin, Manager, and Worker
- Maintenance issue lifecycle: Open → In Progress → Resolved / Rejected, with priority levels
- Before/after/verification photo proof attached to every resolved ticket
- Worker project assignments, operational dashboards, and resolution analytics
Full Technology Ecosystem
Next.jsTypeScriptTailwind CSSshadcn/uiZustandZodRecharts