← All work
SaaS · Education · 2025
ReginaNostra Schools
- Client
- ReginaNostra Schools
- Role
- Sole engineer: build, deploy, staff training
- Year
- 2025

Overview
The school's public website plus a student portal and admin console, in production at reginanostraschools.com. It replaced a paper-based workflow for student records, results, fees and announcements.
The challenge
A newly launched school needed its website and its internal records running before the first term. Admissions information, results, fee tracking and announcements were all on paper, and the staff who would run the system day to day weren't technical.
What I built
- Public site (admissions, academics, fee structure, gallery, announcements, events) and a role-gated portal for students and admins, both served by one Express + MongoDB API.
- Bulk student onboarding from Excel or CSV uploads, so staff import a whole class at once instead of typing records one by one.
- Results management with downloadable PDF result slips generated on the server.
- Fee tracking: students upload a bank-transfer receipt, admins verify it, and duplicate submissions for the same session, term and fee type are rejected.
- JWT auth with role-based route guards, Helmet security headers and API rate limiting.
Stack
- React
- Vite
- TypeScript
- Tailwind CSS
- Node.js
- Express
- MongoDB
- Cloudinary
Results
- Adopted across the entire institution
- Staff trained on the system and supported after launch
What I'd change next
- Fee verification is manual (receipt upload, then admin review). That was the right call for a brand-new school, but the next step is a payment-gateway integration so fees reconcile automatically.