CASE 01Sole Architect & Developer

Unified Enterprise Platform

Multi-Company HR & Operations System

Client: Regional holding company · UAE · 12+ business units
Duration: Ongoing — primary production system
Next.jsNestJSPostgreSQLTypeScriptHetznerDokploy
5 days → 6 hrs
Payroll processing time
architecture.svg
BUSINESS UNITSB1B2B3B4B5... 12+ companiesRBAC + RLSRow-Level SecurityNestJS APIModular Domain ServicesHRPayrollDocsReportsNext.js DashboardSSR · Role-based ViewsPostgreSQLMulti-tenant · Schema IsolationINFRASTRUCTUREHetzner VPSDokploySSL/TLSCI/CD5 days → 6 hrsPayroll processing time12+ business units consolidatedSYSTEM TOPOLOGY · UNIFIED ENTERPRISE PLATFORM

The Problem

A regional holding company ran HR, payroll, and operations across 12+ business units on 5 disconnected legacy systems. Payroll processing alone consumed 5 full working days each cycle. No single source of truth existed — data lived in spreadsheets, siloed databases, and people's heads.

The Approach

I designed and built a single unified platform from scratch — multi-tenant architecture with company-level data isolation, role-based access control, and a shared admin layer for the holding company's leadership. The system handles employee management, document workflows, payroll calculations, and cross-company reporting. Built entirely solo: architecture through maintenance.

Key Technical Decisions

  • 01Multi-tenant PostgreSQL with row-level security for company isolation
  • 02NestJS modular backend with domain-driven service boundaries
  • 03Server-side rendering with Next.js for performance on low-bandwidth connections
  • 04Self-hosted on Hetzner via Dokploy for cost control and infrastructure ownership

The Outcome

Payroll processing dropped from 5 days to 6 hours. All 12+ business units operate on a single platform. The system runs daily business operations — this is the production backbone of the organization, not a prototype.

What I Owned

ArchitectureDatabase designAPI layerFrontendDeploymentMaintenance

Ready to build something similar?

Get in Touch