← Swipe·Swipe →

2026 · INTERNAL TOOLS | EVENT OPS

Picture Day ID Lookup

A once-a-year IT-table tool for picture day: search-as-you-type student lookup, ID-card-number recording, and an Excel export at the end of the day.

Built at Immaculata-La Salle High School

Private Deployment: Built for Immaculata-La Salle High School
Picture Day ID Lookup dashboard

Tech Stack

ViteReactTypeScriptAzure FunctionsSharePointMSALExcelJS

Overview

On picture day, IT staff sit at a table recording which physical ID card number gets issued to each student, looked up against that year's device roster. I built a search-as-you-type lookup tool with a grade filter, an adaptive ID-number suggestion with duplicate-assignment prevention, and an admin flow to wipe and reimport a fresh roster each year. It shipped and ran on a live picture day, then kept picking up polish afterward: batched imports, progress bars, and a change-history log for admins.

Impact

Who it serves: IT staff at the picture-day table processing all 890 students in one day

Before

IT staff looked students up on a paper roster and hand-logged which ID card number went to whom. Slow under load, and error-prone enough to risk duplicate or misissued cards.

After

Search-as-you-type lookup and adaptive ID-number suggestion with duplicate-assignment prevention move the line faster and remove the paper log entirely.

Est. Annual Cost Saved

$410/yr

vs. Staff time saved + avoided card errors (labor-hours) (N/A. No SaaS product does search-and-issuance lookup specifically, and ID-card design tools (IDCreator, CardExchange, AlphaCard) are card printers, not a fair comparable): est. $410/yr. ~8-9 staff-hours saved (instant search + no manual re-keying of the paper log afterward) plus ~$220 in avoided duplicate/misissued-card costs, at an estimated 5% paper-process error rate across 890 students.Own estimate, not a vendor figure, grounded in ILS's actual scale (890 students, one processing day).

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

What I Built

  • Search-as-you-type lookup by name or school ID, filterable by grade
  • Adaptive ID-card-number suggestion with duplicate-assignment prevention
  • Admin: Excel export, wipe-and-reimport with a review-before-commit step, per-student entry clearing, and a change-history log
  • Batched bulk import with a visible progress bar and automatic retry-with-backoff against SharePoint throttling
  • Mobile/tablet-optimized layout for use at a physical check-in table
  • Self-recovers from a stuck sign-in state instead of leaving the user stuck reloading

Screenshots

Picture Day ID Lookup: screenshot 1

What I Learned

SharePoint throttles rapid sequential bulk writes, so batching the import and adding retry-with-backoff turned an unreliable bulk import into a reliable one.

A heuristic last-name split on a full-name CSV field breaks on compound surnames, so I added a review-before-commit screen instead of trusting the heuristic outright.

The Microsoft auth library can get stuck in an 'interaction in progress' state after certain redirect timing. Added an automatic self-recovery path instead of requiring a manual page reload.