Dayflow HRMS
One HR system for attendance, leave, employee records, and payroll.
The problem
Onboarding lives in one spreadsheet, attendance in another, leave in an email thread, and payroll in a file only HR can open. HR needs a single view of all of it. Every employee needs a view of exactly one row.
What we built
We built it as a React and Express application on PostgreSQL hosted at Neon. Admin and HR users manage employees, attendance, leave decisions, and salary components. Employees keep a limited profile, check in and out, apply for leave, and read their own payroll. Role-based middleware guards each route, and login runs through a password check, an email OTP, and then a JWT session.
- Separate admin and employee dashboards with role-scoped routes
- Admin-created accounts with generated login IDs and a forced password change on first login
- Email OTP verification before a JWT session is issued
- Live check-in and check-out status with day-wise attendance records
- Leave workflow with balances, approver remarks, and sick-leave attachments
- Payroll views scoped by role, with salary components and attendance-aware payable days
- A documented REST API covering auth, profiles, attendance, leave, and payroll
My contribution
What I owned on the team
Worked across the Dayflow stack: admin and employee flows, OTP and JWT authentication, attendance and leave workflows, payroll visibility, and the React, Express, and PostgreSQL integration.
How it turned out
Version 1.0 shipped in October 2025: two apps, a documented API contract, and a data model that covers the HR lifecycle from onboarding to payslip.