Charter school governance and compliance platform
Four user experiences, six roles, twelve build phases — still shipping.
The situation
Compliance lived in inboxes, shared drives, and three versions of the same spreadsheet. Board members saw too much noise. School leaders could not see deadlines until someone forwarded an email. Authorizer reporting meant a scramble every cycle.
What I built
A multi-tenant governance and compliance platform with role-based experiences for board members, school leaders, network admins, and staff. Twelve build phases. Four distinct user experiences. Six roles. A permanent record for packets, policies, and deadlines โ plus a catalog API that later connected leadership PD into the same stack.
How it works
ASP.NET Core and EF Core on PostgreSQL, hosted on Hetzner behind Nginx. Role views sit on a shared compliance data model so board, school, and network see different surfaces of the same truth. Auth is shared with the LMS side of the stack. Deploys are automated; the production box is monitored, not hoped for.
What shipped
Twelve phases delivered and still ongoing. Phase 12 is live in production for a US charter school company. The platform has absorbed board portals, compliance tracking, reporting exports, and integration points for professional development.
What I would tell the next client
Build in phases so you can stop after any one of them and still have something that works. Do not wait for a perfect multi-year roadmap before the first school can log in.