rauhan.sheikh
← Back to Work Directory
INTERNAL[HRMS]2026

Workforce HRMS & Desktop App

An internal HR platform for a growing company: attendance, leave, payroll and approvals in one place, plus a desktop app for Windows and macOS. Internal tool, so described at a high level.

2 developers
Team
Senior developer on a two-person team
3 apps
Surfaces
Admin portal, employee portal and a Windows & macOS desktop app
Tested before every release
Quality
Automated checks, in-app help and rollback-ready deployments
Self-managed
Hosting
Deployed and operated by me on our own servers

Engineered With

Next.jsReactTypeScriptNode.jsMongoDBElectronGitHub ActionsPM2Linux VPS

The Problem & Context

An older workforce system had accumulated issues and fixed rules. Numbers disagreed between views, and because payroll depends on attendance, every inconsistency turned into a money problem.

The Messy Part (Behind the Build)

Real attendance is messy: different shifts, machines that restart or drop offline, and rules that vary by team. All of it has to resolve to one consistent number everywhere, because payroll consumes it.

Architecture & Design Decisions

A Next.js and Node.js application on MongoDB with per-person logins and a role- and department-scoped permission model, an approval engine, and ledger-style balances. An Electron desktop app for Windows and macOS stores data locally and syncs reliably when the connection returns. Everything is self-hosted and deployed through scripted, health-checked releases with automatic rollback.

Scope

An internal HR platform in three parts: an admin portal for HR and management, an employee portal, and a desktop app for Windows and macOS, all backed by one Next.js, Node.js and MongoDB system that I also host and operate.

It covers attendance and shifts, leave, payroll, incentives, reimbursements, employee records and reporting, with approvals that can span multiple levels per request type.

The engineering themes

  • Policy as configuration. Almost nothing that HR cares about is hard-coded. New rules ship as settings whose defaults keep today's behaviour, so features can be introduced gradually.
  • Correctness first. Balances are ledgers, approved payroll is locked, and every sensitive change is audited with a reason.
  • Resilience. The desktop app keeps working offline and syncs safely; long-running reports resume where they stopped.
  • Maintainability. A large automated test suite, searchable in-app help in all three apps that is updated with every release, and scripted deployments with automatic rollback.

Note

This is an internal company system built by a two-person team, with me as the senior developer. There is no public link and I have kept the description deliberately general.

What I'd Do Differently Today

I would model shifts and rosters before building attendance reporting. Retrofitting varied schedules onto a single-shift assumption forced rework across reports and payroll.