The operational problem
Volunteer operators needed a reliable, low-training replacement for an unstable event check-in application.
Led a five-person team delivering a QR check-in app adopted by a nonprofit client.
Why this system exists
The operator needed an immediate answer at the door. A mobile scanner with explicit success and failure states fit the physical workflow better than a generic registration dashboard.
A nonprofit client supplied the need. Ayub translated operator feedback into a backlog and led the five-person student delivery.
How the work moves
- Sign in
- Select event and door
- Scan booking code
- Validate identifier and state
- Show actionable result
- Record scan history
- Handle offline or permission failures
What shaped the solution
Volunteer users needed immediate, low-training feedback.
The app depended on a remote service during busy events.
The student team needed parallel ownership without architectural drift.
Exact throughput and uptime measurements were not recorded.
What I owned
Designed
Low-training scan flow, failure feedback, and MVC team boundaries
Developed
Login, event selection, scanner, scan history, settings, and local persistence
Integrated
QR camera, permissions, audio feedback, SQLite, and remote service boundary
Tested
Valid, invalid, duplicate, offline, capacity, and permission paths
Collaborated
Nonprofit client and five-person capstone team
Decisions that carried the work
Design for the operator
The flow minimized steps and made success and failure states obvious for volunteers working under event pressure.
Separate the app before scaling the team
Refactoring to MVC gave UI, business logic, and data integration clear boundaries for parallel development.
Make failure actionable
Invalid codes, unavailable networks, auth errors, and backend faults each produced a useful operator response instead of a silent stop.
Verified outcome
Delivered a production-ready replacement for the legacy check-in app.
The nonprofit client adopted the system after handoff.
Clear operator feedback replaced silent failures.
MVC structure enabled parallel work across the five-person team.
What I will not overclaim
The client adoption is supported, but exact throughput, uptime, and time-saved metrics were not recorded.
Verified from the MasjidPass source profile and public GitHub repository.