Skip to content
All work
2026Software engineering intern — full-stack

Darul Uloom Michigan Platform

Built and shipped end to end: PostgreSQL with Row-Level Security, serverless Edge Functions for auth, and a React front end that five user roles each see differently. Live for 70+ users with CI gating every deploy.

Stack
TypeScriptReactSupabasePostgreSQLViteGitHub Actions
Impact

70+

Active users

5

Access levels

30+

DB tables

Highlights
  • Production platform with 70+ users across five access levels
  • 30+ table Postgres schema with Row-Level Security
  • 75+ automated tests gating GitHub Actions deploys

The problem

A school needed more than spreadsheets for grades, records, and administration. Access had to be role-aware — admins, teachers, and others should never see the same rows — and Monday morning could not be when the system broke.

Approach

Schema first. A normalized PostgreSQL model of 30+ tables, with Row-Level Security enforcing who can read or write what at the database layer rather than only in the UI.

Serverless auth and privileged ops. Edge Functions handle authentication and operations that should not live in the client. The React front end renders five distinct experiences from the same codebase.

CI that blocks bad deploys. GitHub Actions runs 75+ automated tests before anything ships. A grading system that fails quietly is not an abstract risk.

Outcome

The platform is live in production. The interesting lesson is that scoping access and tests as seriously as features is what made it trustworthy enough for a real school to depend on.