End-to-End 360° Performance Evaluation Module
Full-stack developer & feature owner — annual KPI-linked 360° reviews across peers, managers, and external partners. I owned both the assignment engine / public API and the Angular experience for complex, schema-driven forms on desktop and mobile.
Engine, security model, and evaluator UX
The enterprise needed a comprehensive 360° performance review tied to annual KPIs. The work split naturally in two directions: a backend that could resolve dynamic hierarchies, mint secure access for external partner feedback without logins, and persist audit-friendly payloads; and a frontend that could render schema-driven evaluation forms (many question types, dense matrices) with a smooth experience on both desktop and mobile.
Backend engine, Angular forms, responsive matrices
Owned the feature end-to-end—from persistence and APIs through the evaluator UI.
- Backend architecture: Built a generation engine that auto-matches department members and assigns form types from rank and relationship; stored answers in JSONB; exposed a stateless, token-based public API so partners submit securely without accounts.
- Frontend (Angular): Modular app with shared UI components. A dynamic EvaluationFormComponent reads varying JSON schemas (flat vs. sectioned) and renders the right controls for each question type.
- Responsive UX: Used programmatic viewport checks (
matchMedia) so large Likert matrices reflow into a mobile-friendly layout without breaking reactive form groupings.
Impact
Delivered a fully automated, scalable HR evaluation path from cycle activation through completion. The schema-driven Angular surface decoupled the UI from hardcoded questionnaires, so the business could introduce new evaluation types through configuration instead of shipping new form screens for every change—while keeping submissions reliable across desktop and mobile.
Technical architecture
Data model, admin and staff flows (including schema-driven form steps), then a sequence view contrasting authenticated staff calls with token-based partner submissions.