
Built with
Complete business portal covering the operational lifecycle of an enterprise, from the first lead to the settled invoice. It runs in production across more than five companies.
Three modules carry the system. Quotation management handles lead capture, quote generation, and proposal tracking. Employee management covers onboarding, profiles, assignments, and organisational structure. Finance integrates invoicing, payroll, and reporting. The value is not in any one of them individually, it is that a lead captured in the first module is still the same record when it becomes an invoice in the third, with no re-entry and no reconciliation step.
That end-to-end continuity is the part that takes design work. Most business software is a set of tools that happen to share a login. Making the workflow genuinely continuous means the data model has to anticipate the whole path up front, because retrofitting a shared identity across modules that were built separately is a migration rather than a feature.
The system supports multi-branch operations with role-based access control and centralised reporting. Organisational structures can be deep and irregular, so permissions are granular rather than role-templated, and audit trails record every change for compliance and for the far more common case of somebody needing to know why a number moved.
Built on React, Node.js, and PostgreSQL. The relational choice was deliberate: this is a domain of invoices, line items, and approvals, where referential integrity enforced by the database is worth more than schema flexibility.
More work