In-house work · HR technology (SaaS)
User Profile Drawer & Component Library
Built a 15+ component library that cut cross-team feature development time by about 40%.
- Built by
- Our head engineer, in-house at an HR software company
- Industry
- HR technology (SaaS)
- Timeline
- 2 months
- Year
- 2025
- Platforms
- Web

Results at a glance
The challenge
- Building a multi-drawer navigation architecture with nested panels
- Creating a polymorphic button system supporting color, style, and size variants with full type safety
- Implementing private notes with real-time autosave and rich-text editing
About the project
Designed and built a user profile system and a component library for a SaaS HR platform. The profile drawers display rich user information including personality assessments (DiSC, Working Genius, Enneagram, Strengths), team memberships, favorites, private notes, and personalized callouts. The component library provides 15+ reusable components (polymorphic buttons, form inputs, drawer headers) that serve as the UI foundation across 20+ feature modules. The system supports multi-drawer navigation with nested panels, feature flag controlled rollouts, and full accessibility compliance.
What was delivered
Scope
- Component library
- Design system
- Rich-text notes
- Multi-panel navigation
- Accessibility
Our approach
A component library with 15+ reusable components using TypeScript generics, discriminated unions, and compound component patterns
A private notes system with debounced autosave using React Query mutations and Froala WYSIWYG editor integration
Feature flag integration for controlled rollouts
The outcome
- Reduced cross-team feature development time by approximately 40% through the reusable component library
- Delivered a rich user profile experience with personality insights, team visibility, and private note-taking
- Strict TypeScript compliance with generics, discriminated unions, and type guards in a mixed JS/TS codebase
Built with
React
TypeScript
- Emotion CSS-in-JS
MUI
TanStack Query
- Froala Editor
- TipTap Editor
Redux
- REST API
More projects like this
Have a project like this in mind?
Tell us what you're building. We'll show you how we'd approach it and what it would take.


