User Access Management (UAM)
A centralized, secure, and fine-grained access control system designed to manage roles and permissions across complex multi-tenant financial hierarchies.
RoleFrontend Developer
DurationNov 2024 - Present
Client / Partner73 Strings
IndustryFintech (Private Capital / Investment Management)
Technologies & StackAngularAngular MaterialPrimeNGRxJSTypeScript
The client operates a complex financial intelligence platform handling private equity, credit, and alternative assets. They lacked a centralized, scalable system to manage user roles and permissions across multiple financial entities and product lines. Existing approaches were fragmented, manual, and prone to security risks, especially with sensitive financial data and multi-tenant access scenarios.
To design and build a robust, scalable User Access Management (UAM) system that enables:
- Fine-grained access control
- Secure multi-tenant user management
- Efficient permission handling across products and entities
- Compliance with enterprise-grade security standards
Developed a scalable frontend-driven UAM module using Angular that enables administrators to manage users, roles, and permissions across complex financial hierarchies. The system supports dynamic permission mapping, hierarchical access control, background processing workflows, and real-time UI state updates.
- Role-based access control (RBAC) with modular permissions.
- Multi-entity hierarchy (Funds, Companies, etc.).
- Product-level permission control (Equity, Credit, Monitoring, Transactions).
- Dynamic permission assignment UI.
- Bulk user creation with background processing.
- Notification system with real-time status updates.
- Hierarchical access propagation (parent-child sync).
- Client-side filtering and sorting.
- Global modal system for async operations.
- Led Angular 17 → 21 migration and modernization (standalone components, performance improvements).
- Led NgModule → Standalone architecture migration to clean up technical debt.
- Migrated test suite from Jasmine/Karma to Vitest for faster and modern testing.
- Infinite scroll
- Polling-based updates (no WebSockets)
- Dynamic state handling (success/pending/failure)
- Auto-refresh for pending operations
- Background processing
- Global modal (minimize/maximize across app)
- Implemented SSO configuration UI at organization level.
- Designed entity hierarchical access system featuring dynamic parent-child relationships, accordion-based recursive UI, multi-parent support, and access sync across hierarchy.
- Built permission propagation logic (single node vs entire hierarchy).
- Optimized checkbox state updates in deep hierarchies.
- Used
localForage for handling large datasets client-side.
- Developed client-side table filtering & sorting.
- Contributed to overall performance optimization and UX improvements.
- Managing deeply nested and dynamic hierarchical data structures.
- Handling large datasets (thousands of nodes/users) without UI lag.
- Syncing access across multi-parent hierarchical relationships.
- Avoiding UI freezes during bulk operations and permission updates.
- Ensuring real-time UX without WebSockets (polling constraints).
- Tech debt from legacy Angular architecture (NgModules, Karma).
- Designed recursive, optimized hierarchical data models with memoization.
- Implemented efficient state updates and batching strategies.
- Introduced
localForage caching for large datasets.
- Built custom polling system with intelligent refresh logic.
- Used virtual scrolling & optimized change detection.
- Migrated to standalone components + modern Angular patterns.
- Replaced Karma with Vitest for faster execution and better DX.
- ~50% improvement in UI performance for large hierarchical datasets.
- ~60% faster test execution after Vitest migration.
- Significant reduction in UI freezes during bulk operations.
- Improved responsiveness in permission updates (near real-time UX).
- ~30% app bundle reduction after ng module to standalone migration.
- Enabled scalable and secure user access control across financial products.
- Reduced operational friction for admins managing large user bases.
- Improved system usability leading to faster onboarding and configuration.
- Strengthened platform reliability and enterprise readiness.
- Angular-based modular frontend.
- API-driven permission and user management.
- Hierarchical data model for entity relationships.
- Polling-based real-time updates for async operations.
- Designed UI to handle deep, dynamic hierarchies without re-render bottlenecks.
- Implemented client-side caching (
localForage) for large data.
- Modular architecture enabling easy addition of new entities/products.
- Optimized rendering and state updates for high-scale enterprise usage.
- Migration to modern Angular improved long-term maintainability and scalability.