SunSpire Studios
All work

Workforce & payroll platform

D.ARK+ OPS

Dolores Arkitecture

D.ARK+ prepared payroll from a timesheet spreadsheet. It worked, but it lived in one file, held no history of who changed what, and every semimonthly cutoff meant rebuilding the same calculations by hand. We replaced it with an operations platform the firm now runs payroll on.

Employees on payroll
9
Pay runs
Twice monthly
Live since
May 2026
Access levels
6 roles

The problem

Payroll preparation depended on a single spreadsheet and the person who understood it. Hours were retyped, overtime was worked out manually, and there was no record of corrections — so a question about last month's pay had no answer beyond memory.

For a firm paying nine people twice a month, that is a lot of trust placed in one file.

What we built

  • Time entry with automatic regular and overtime splitting, and validation that blocks impossible days
  • An approval queue for backdated entries, so late submissions can't quietly change a finished cutoff
  • Leave management with service incentive leave balances and an annual ledger
  • A holiday calendar that applies the right pay rule per holiday type
  • Semimonthly payroll runs with SSS, PhilHealth, Pag-IBIG, withholding tax, and cash advance handling
  • Generated PDF payslips, each stored as a frozen snapshot so a reissued payslip reproduces exactly what was sent
  • Audit logging with before-and-after snapshots on every sensitive change

Why the audit trail mattered

Payroll is the one system where being approximately right is not good enough. Every correction records who made it, when, and what the values were before and after — so any figure on any payslip can be traced back to the entry it came from.

That is what let the firm stop keeping the spreadsheet as a safety net.

How it was delivered

Nobody's payroll should change overnight. The first release synced payroll data back out to the existing spreadsheet, so the team could keep working the way they knew while the new workflow proved itself over real cutoffs.

Once the in-app payroll workspace was in daily use, the bridge was retired properly — route, permissions, and database tables removed in a cleanup migration rather than left to rot.

Inside the system

Screenshots use fictional names and figures. No real client data is shown.

Operations dashboardTime entryEmployee viewPayroll workspaceGenerated payslipAudit log

1 / 6 · Operations dashboard

Every number an owner normally has to ask someone for: active staff, hours logged this month, the overtime trend, and which projects are consuming the time. It updates as entries come in, so the answer is never a day old.

Built with

  • Next.js
  • TypeScript
  • PostgreSQL
  • Auth.js
  • Zod
  • Playwright