Work Web application
An employee portal for a UAE manufacturer
Recognition, training, leave, facility booking, events and issue reporting in one place, with access rules that follow the company’s reporting lines.
Sample-data demo Built for a UAE manufacturer and currently in an internal pilot. The company is not named. Every screen here comes from a preview build that runs on invented people and figures.

- Type
- Web application
- Status
- Internal pilot
- Role
- Design, build and database
- Built with
- React Native for web, TypeScript, Postgres
The challenge
An earlier portal had grown into skills matrices, scoring and long reports, and was judged too complicated to use.
The replacement had to be something a shift worker could use on a phone in a minute, while still giving managers a view of their own teams and nobody else’s.
Some of what it handles is sensitive: who reported a safety issue, who booked a room, who is on leave.
Rules that hold however the request arrives
If a screen must not show something, the database must not return it.
Hiding a component is presentation, never a security control.
Anonymous issues store no identity at all.
A database check makes storing one impossible; the reporter follows the case with a reference and a secret kept on their device.
Badges are approved in person.
A QR code that expires after three minutes, scanned by an assigned colleague, never by the employee themselves.
Clashing bookings are refused by the database.
The rules hold however a booking is made, not only through the screens.
One portal, six points of view
Choose a role to see what the database returns for it. The same booking, for example, reads differently depending on who is asking.
Employee
Can see
- Their own profile, training, timeline and badges
- Their own issues, QR code and bookings
Someone else’s meeting-room booking shows as
Booked
The reason for a booking is visible only to the person who booked it and to admins.
The approach
A much smaller idea: help people notice and develop each other. Four destinations for everyone, a fifth for supervisors.
One rule governs the build. If a screen must not show something, the database must not return it. Hiding a button is presentation, not security.
Every action that changes data runs through a database function that checks who is asking, so the rules hold however the request arrives.
What was built
| Item | Part | What it does |
|---|---|---|
| 01 | Badges awarded in person | An employee shows a QR code that expires after three minutes. An assigned colleague scans it and approves the badge. |
| 02 | Facility booking | Meeting rooms and sports facilities, with clashes refused by the database and other people’s bookings shown only as “Booked”. |
| 03 | Notice board and events | Posts, recognition and upcoming events, with place limits and approval for company-wide events. |
| 04 | Leave | Apply, approve and report, with certificates attached to the application. |
| 05 | Issue reporting | Named or anonymous. An anonymous report stores no identity at all, and is followed with a reference and a secret kept on the device. |
| 06 | Insights | Totals for a manager’s own reporting line. No list of who did what. |
Screens



Screens show a preview build with invented people and figures. The product name and company name have been replaced.
Quality verification
- Method
- Checked against the database, as recorded in the project’s own notes.
- Date
- 14 and 15 September 2026
Checked and passed
- 24 of 24 read-only access checks passed: each role was impersonated and what the database returned was compared with what that role should see
- 18 booking cases behaved as intended: clashes, opening hours, length, how far ahead, other people’s bookings
- 24 event cases behaved as intended: approval, place limits, cancelling, private drafts
- Unit tests cover the badge approval rules, QR code contents and booking times
Not yet covered
- The write-side badge rules have a database test suite that has not been run yet
- Database types are written by hand and need regenerating from the live schema
- No push notifications. The notice board refreshes once a minute
Why it matters to a business
Any company with shifts, departments and several sites runs on requests: leave, rooms, training, complaints. When those live in paper forms and chat groups, nobody can see the whole picture and nothing is private.
A portal like this replaces that with one system where the access rules are part of the foundation, so it can be trusted with the sensitive parts as well as the easy ones.
Live demo
The sample-data preview runs privately for now. Ask for a walkthrough.
Ask for a walkthroughTell me what your business needs built. A few lines are enough to start, and I reply with questions, not a sales pitch.