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.
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.



