Lumen
- Client
- Dept. of Culture and Tourism, Abu Dhabi
- Role
- Sole engineer
- Year
- 2026

The problem
Project controls and quality management lived across thirteen separate Microsoft Power Apps. Master data, monthly cost reporting, tendering, risk, corrective actions and change control each had their own home, their own copy of the truth, and no path between them. Reporting meant re-keying figures by hand, and the largest cost workbook alone ran to hundreds of thousands of cells.
The approach
One typed platform over one data model — fifteen modules across a hundred and one tables, with every boundary checked at compile time. Bulk ingestion replaced manual re-entry: the cost workbook now imports in a step, validates itself, and reports the rows it cannot trust rather than letting bad figures through silently.
The architecture
Data stays in the UAE. Nothing but the gateway is reachable from the public internet; the application containers sit inside a private network, reach the database over it, and authenticate to every managed service without a password anywhere in the codebase. The whole landing zone was specified in writing and handed to the client's own IT team to run.
The outcome
One workspace where thirteen applications used to be, running in the client's own region on infrastructure their team controls. Meeting recordings become formatted minutes with the agreed actions filed automatically. Cost reporting that used to be re-typed now imports in a step and says plainly which rows need a human.
Built with
- TypeScript
- React 19
- tRPC
- Drizzle ORM
- PostgreSQL
- Azure Container Apps
- Key Vault
- Whisper
- GitHub Actions