Payroll & HRIS, Multi-Tenant Laravel App
A multi-tenant payroll and HRIS application built with Laravel, using subdomain-based tenancy so each company gets an isolated workspace for employees, payroll runs, and HR records.

A payroll and HR information system on Laravel with true multi-tenancy. Each client company runs on its own subdomain with fully isolated data.
Deployed and running in production.
What was in the way
Payroll is the least forgiving category of business software.
It is legally sensitive. It runs to a deadline every cycle, and the deadline does not move. And one company seeing another company's salary data is not a bug you recover from, commercially or legally.
Multi-tenancy therefore has to be correct from the first migration. Retrofitting isolation into a live payroll system is close to a rebuild, because every query, every export and every report has to be re-audited, while the system continues to run payroll fortnightly.
The tempting shortcut is a company_id column on every table and a discipline of always filtering on it. That works until the one query somebody writes in a hurry, or the one report that joins two tables and forgets, or the one background job that runs without tenant context. The failure is silent and the blast radius is total.
Five parts, each with a reason
Tenant isolation through Stancl/Tenancy
Each client company gets genuinely isolated data rather than a shared table and a convention.
The difference matters. With a shared table, isolation depends on every developer remembering, forever. With real tenancy, the isolation is structural: a query that forgets the tenant does not return another company's rows, it returns nothing.
That turns a catastrophic failure mode into an obvious one.
Subdomain routing per tenant
Each tenant reaches the system on its own subdomain.
The boundary is visible in the URL as well as in the database. An HR administrator can see which company they are operating on, which matters when somebody administers more than one.
Where this architecture applies
Anything where separate customers share one deployment but must never share data. Payroll, accounting, healthcare records, property management.
If your product has companies as customers rather than individuals, tenancy is the decision to get right before anything else is built. It is the one architectural choice that is genuinely expensive to change later.
Employee records, payroll processing and HR workflows
The day to day operation, built to be run by non-technical HR staff rather than by whoever understands the system.
Payroll software is used under time pressure by people who did not choose it. Anything requiring interpretation gets done wrong at 4pm on a cutoff day.
Tenant-aware migrations and seeding
Onboarding a new company is a repeatable command rather than a manual database exercise.
This is the operational half of tenancy and it is the part usually missed. Isolation that requires a developer to provision each new tenant by hand does not scale past about three customers.
The engineering underneath
Laravel with Blade and MySQL, Stancl/Tenancy for multi-tenancy, Livewire for the interactive interfaces, Tailwind CSS for styling. Deployed to production.
Why Laravel
Laravel earns its place here rather than being a default.
Queues for payroll runs that cannot block a request. Migrations that make schema change safe across many tenant databases. Auth scaffolding that does not need to be invented. And a mature tenancy package that has already solved the problems a hand-rolled implementation discovers in production.
The wider argument is legibility. Payroll software outlives the person who wrote it. A Laravel codebase can be picked up by the next developer, because the conventions are documented and widely known. A bespoke framework cannot, and for a system a business depends on monthly, that is a real risk rather than a preference.
See it live
Payroll & HRIS, Multi-Tenant Laravel AppThe live site · payroll.deeve.infoHire me for this
Full-Stack Web DevelopmentFrom $14/hrHosting & Server ManagementFrom $14/hrWebsite Maintenance & SupportFrom $10/hrProjects like this

Premier Metrics, Admin Dashboard
The office dashboard behind a mobile timer app. React and TypeScript on Vite with Supabase and Vercel: monthly...

Premier Timer, iOS and Android App
Taking over from a departing programmer: an unfinished React Native app rebuilt and shipped to the App Store...

Deeve Technologies Portfolio, Next.js Rebuild
This site: my portfolio rebuilt from a custom WordPress theme onto Next.js 16, React 19 and Supabase, with...
I build software, and I measure whether it works.
The same questions I research are the ones I ask on client builds: is it reliable, is it fast, is it easy to use, and is it secure. Those four drove satisfaction in my ICT portal study, and they shape how I scope and test every project.