Education
2024
Backend Engineer
Belrald School Management
Authentication, authorization, onboarding, password recovery, and dynamic RBAC modules for Belrald's school management platform.

Problem
The work started here.
Schools and platform staff needed secure onboarding, account access, and permission management across multiple institution roles.
Research
- Reviewed institution and staff onboarding requirements across the school management flow.
- Mapped user roles, permissions, and account recovery scenarios.
- Identified authentication paths that needed to be consistent for institutions and staff.
Planning
- Designed authentication modules for onboarding, password creation, password reset, and recovery.
- Modeled roles and permissions so administrators could create flexible access rules.
- Planned API boundaries around user, role, permission, and account recovery concerns.
Architecture Highlights
- NestJS services handled authentication, user onboarding, and permission APIs.
- Role and permission entities supported dynamic mapping across users.
- Recovery workflows separated identity verification from password updates.
System Design
- RBAC permissions can be assigned to roles and mapped to users across the platform.
- Account recovery paths protect users while keeping the process usable.
- Institution onboarding creates the foundation for staff-level access control.
Challenges
- Access control needed to stay flexible as institutions and staff roles changed.
- Password and recovery flows had to be secure without adding friction.
- Backend modules needed clear boundaries for future platform growth.
Solutions
- Implemented reusable authentication and authorization services in NestJS.
- Created dynamic role creation and permission mapping workflows.
- Structured account recovery as a controlled, auditable process.
Performance
- Reduced duplication across authentication and onboarding flows.
- Improved maintainability by separating users, roles, and permissions.
- Gave platform administrators more flexible control over access.
Tech Stack
NestJS
Node.js
TypeScript
Authentication
RBAC
Code Snippet
await roles.attachPermissions({
roleId,
permissionIds,
updatedBy: admin.id,
});Gallery & Animations
The final product uses subtle hover tilt, reveal choreography, and responsive image transitions to make the case study feel alive without turning the page into a heavy demo reel.


Lessons Learned
- Education platforms need access control that can grow with real institution structures.
- Authentication feels better when recovery flows are designed as primary workflows.
- A clean permission model saves product teams from one-off exceptions later.