Independent product
PayFlow Pro
Multi-tenant workforce platform: company onboarding, employee contracts and payroll, check-in attendance, live monitoring, leave approvals and team messaging in one product.
Private codebase. A walkthrough is available on request.
Problem
Growing companies usually run HR, payroll, attendance and team chat in separate tools that do not share data. PayFlow Pro brings them into one multi-tenant product, so each organization runs its workforce operations in one place.
Because it handles pay, contracts and approvals, every important action also needs to be traceable.
My role
Designed, built and deployed the product end to end: product scope, data model, the Angular front end, the Node.js API and real-time layer, and the deployment on Google Cloud Run.
Screenshots
Open full-size screenshot in a new tabPayroll screen with monthly payroll history, CSV import and per-employee payslips
Open full-size screenshot in a new tabAdmin dashboard with expenditure, workforce, analytics and team overview
Open full-size screenshot in a new tabWorkforce directory with access roles, compensation and an onboard button
Open full-size screenshot in a new tabAttendance with camera check-in, check-out and attendance logs
Open full-size screenshot in a new tabLive monitoring of checked-in employees
Open full-size screenshot in a new tabTeam messaging with direct chats, channels and reactions
Open full-size screenshot in a new tabLeave requests with approval status and CSV export
Open full-size screenshot in a new tabEmployee profile with salary, leave balance and employment details
Open full-size screenshot in a new tabNotifications panel
Open full-size screenshot in a new tabNotes utility for admin and personal notes
Open full-size screenshot in a new tabSign-in page
Architecture
Key technical decisions
Self-serve company onboarding
An organization registers and gets its own company account and domain. Its admins then onboard employees with full details, including a contract with an hourly rate or a fixed salary.
Multi-tenant with role-based access
One deployment serves many organizations. Access is split into Super Admin, Manager and Employee roles, so each user only sees and approves what their role allows.
Real-time over WebSockets
Chat, channels, file sharing and live attendance monitoring push updates to the browser over WebSockets instead of polling.
Audit log as a core feature
Payroll runs, disbursements and approvals are sensitive, so the product keeps a full audit log rather than treating it as an add-on.
Workflows end in real artefacts
Payroll runs produce disbursements and payslip emails, and leave requests go through approvals with CSV export for reporting.
Serverless containers on Cloud Run
The application runs on Google Cloud Run, so it scales without managing servers.
Results
- Live in production on Google Cloud Run.
- Payroll, attendance, leave, chat and audit in one product instead of separate tools.
Stack
- Angular
- Node.js
- PostgreSQL
- Redis
- WebSockets
- Firebase
- Google Cloud Run