← Swipe·Swipe →

2026 · INTERNAL TOOLS | EVENT OPS

Dress Approval

A 4-angle photo submission and staff review flow for event dress-code approval, built first for Homecoming, replacing an in-person walk-by check.

Built at Immaculata-La Salle High School

Private Deployment: Built for Immaculata-La Salle High School
Dress Approval dashboard

Tech Stack

ViteReactTypeScriptAzure FunctionsAzure ADMSALMicrosoft GraphSharePoint/OneDrive

Overview

Dress-code approval for events like Homecoming ran as a visual, in-person check with no record of who was reviewed or against what rule. I built a flow where students upload four full-body photos (front, back, left, right) ahead of the event. Each photo is hashed client-side to block duplicate images before upload. Staff review from a searchable, filterable admin queue: approve or reject with a note that's shown back to the student, so a rejection comes with exactly what to fix before resubmitting. Staff and students sign in through separate Azure AD tenants, both routed into the same app. It's one of three sub-apps sharing the 'ILS Activities' Azure Static Web App, alongside Fire Drill Checklist and the Scavenger Hunt.

Impact

Who it serves: Students attending dress-code-governed events (Homecoming first) and the approving staff

Before

Dress-code compliance was checked in person at the door, with no consistent rule application across reviewers, no record of who was checked, and no way for a student to know ahead of time if their outfit would pass.

After

Students submit four photos days ahead and get an Approved/Rejected decision with a specific note if rejected, giving time to fix it before the event, while staff review from one queue with a permanent decision record.

Est. Annual Cost Saved

$1,150/yr

vs. Jotform Gold (Jotform): est. $1,150/yr. ~$39-99/month Gold tier (top of range for multiple approver seats), published Jotform pricing.True SSO/Azure AD parity with the in-house tool would require Jotform's Enterprise tier (~$9,500/year median contract per Vendr). Using the closer-scoped Gold tier here understates, not overstates, the comparison.

Estimate, not an audited figure. Methodology and sources are disclosed above for each comparable product.

What I Built

  • 4-angle (front/back/left/right) full-body photo submission with client-side SHA-256 duplicate-photo detection before upload
  • Staff admin queue: search by name, email, or student ID, filter by status, expand a row to view all four photos and leave a reviewer note
  • Approve/Reject workflow with the reviewer's note surfaced back to the student on rejection
  • Configurable per-event submission window and deadline, enforced both client-side and by the API
  • Separate Azure AD tenants for staff and students routed into one app
  • Deployed as one of three sub-apps sharing the same 'ILS Activities' Azure Static Web App

What I Learned

Hashing each photo client-side with SHA-256 before submission catches duplicate uploads (e.g. the same photo picked for two angles) without a server round-trip first.

Keeping a per-submission reviewer note visible to the student turned a rejection into something actionable instead of a dead end.

Telling staff and students apart didn't need a manual allowlist, since the sign-in flow already carried that distinction.