← All work

Case study

Operations platform for a multi-office services company

One system for people, projects and money, replacing spreadsheets across several offices. I designed the data model and built most of the backend.

Role
Lead backend developer
Period
Multi-year engagement
Stack
LaravelPHPMySQLRedisReactTypeScriptDockerCI/CD

Highlights

  • Used daily by several hundred people across multiple offices
  • Manual operational work reduced by more than half
  • Staffing, time off, compensation, invoicing and profitability in one place
  • Role-based access so each team sees only its own data

The problem

A growing professional services company ran HR, staffing and finance across spreadsheets and disconnected tools. Simple questions, such as who is available next month, what a project really earns, or which invoices are still open, took manual work every time, and the answers didn’t always agree.

What I built

I designed the data model and the API, and built most of the backend modules:

  • People and staffing: who works on what, availability, and the pipeline of upcoming projects
  • Time off with approvals
  • Compensation records with a full history of changes
  • Revenue, cost and profitability per client and per project
  • Client invoicing and payment tracking
  • Reporting and exports to spreadsheets, PDF and documents for management

Around the modules: role-based access so HR, finance, managers and employees each see only what they should; single sign-on; file storage in the cloud; transactional email; and scheduled jobs for recurring work. A separate team built the web frontend, and I owned the API contract with them. I also set up containerised builds and automated deployment.

Outcome

  • One source of truth for people, projects and finance across all offices
  • Manual operational work reduced by more than half
  • Extended continuously as the company’s processes changed