The problem
School software is written for administrators and then handed to everyone else. A parent checking on a child is standing in a queue somewhere; a teacher marking attendance is doing it during the lesson, not that evening. One codebase serving all three roles usually ends up fitting none of them.
How we built it
- Routed users at the entry flow by role, so each portal is a distinct information architecture rather than a menu of hidden tabs.
- Built the parent portal around multi-child households, with a child picker as the primary navigation.
- Optimised teacher attendance for speed — section tabs, status shortcuts and auto-save instead of a submit button.
- Added homework publishing with live submission tracking per class section.
- Shared authentication, networking, theming and domain models across all three portals.
The result
A multi-child parent portal, auto-saving teacher attendance built for speed, and live homework submission tracking — all from one shared codebase.

