The problem, stated properly
An HR app that employees have to install is an HR app most employees never open. Clocking in should take one message. So attendance, leave requests, payslips and HR queries all run through a chat thread people already have open, and the dashboard exists for the person who actually needs a dashboard: the employer.
Compliance here is specific to South Africa: SARS tax tables, UIF, overtime at 1.5× and 2×, and the Basic Conditions of Employment Act. A generic payroll engine would have been faster to build and useless to the customer.
The rule that shaped it
Any common action, in three taps or fewer.
Employee management, leave and attendance on the employer side were redesigned around that limit. Multi-tenancy is enforced in Postgres with row-level security rather than in application code, so a missing WHERE clause is a failed query rather than a data leak.



