Project · Web · Automation · Internal Tool

Performance Review System

React 18 Node.js PostgreSQL Docker Active Directory Express PDFKit Self-hosted

Project Overview

Who

Built for salaried and office employees at a mid-size organization, along with their supervisors and HR staff — people who had been managing annual reviews through emailed Excel files with no central tracking, no audit trail, and no automated follow-up.

What

A full-stack web application that digitizes the annual performance review process end-to-end. Employees complete self-assessments with skill ratings across 7–8 categories and written responses to structured questions. Supervisors review, add ratings and comments, set development goals, and send the completed review back to the employee. HR manages users, monitors completion status, and accesses analytics across the organization.

The system enforces a structured workflow with automatic email notifications at every stage, a revision request loop so employees can flag concerns before accepting, PDF export for finalized reviews, and full audit logging for compliance.

When

Initial version launched in December 2025 to coincide with the annual review cycle. Version 2.0 followed in January 2026, adding HR-level user management, inline supervisor editing, automatic welcome emails for new accounts, and PDF export.

Where

Self-hosted on an internal Linux server using Docker Compose. Accessible to all eligible employees through a standard web browser — no software installation required. Integrates with the organization's Active Directory for single sign-on authentication and employee directory lookup.

Why

The previous process relied on Excel templates passed back and forth over email. There was no way to track who had completed their review, no central record, and HR spent significant time each cycle manually chasing down submissions and reconciling files.

This system replaced all of that with an automated, accountable workflow. Notifications go out automatically at each stage, completion is visible in real time, and finalized reviews are stored centrally — removing the manual overhead and making the process consistent year over year.

Stack & Tools

Frontend
React 18 · Tailwind CSS
Backend
Node.js · Express
Database
PostgreSQL 16
Auth
JWT · LDAP / Active Directory
Email
Nodemailer (SMTP)
PDF Export
PDFKit
Containers
Docker · Docker Compose
Host OS
Ubuntu Server