ASU's mobile app is the campus-front-door for one of the largest research universities in the country. 58,000+ weekly active users hit it for class schedules, campus events, geo-located activities, instant chat with student services, and roughly two dozen other surfaces students don't realize aren't separate apps.
I led development across multiple feature areas in the React Native codebase, with AWS handling the backend service composition. The work spanned native module integration (geo-location, push, local notifications) through to the conversational features that fed into Sunny, the chatbot covered separately.
A campus Swiss-Army knife
Most of the surfaces that look like separate apps to a student actually live in this one. Highlights I built or contributed to:
- Mobile ticketing for home football games, replacing the legacy paper / will-call flow at Sun Devil Stadium gates.
- Free student event ticketing for non-athletic events across campus.
- Custom schedule management. Students built, edited, and viewed their personal academic calendar inside the app.
- An in-app social feed with instant messaging for campus-community communication. The messaging layer leaned heavily on AppSync.
- In-app integration with Sunny, the university chatbot. Students conversed with student-services automation without leaving the app.
- A customizable home screen with drag-and-drop widgets, so each student composed their own dashboard of frequently-used features.
Geo-location as a first-class platform feature
Some of the more distinctive engineering was around location:
- Geo-location events. Surfacing what was happening near the user, when, and how to engage with it.
- Zone-bound bonuses, add-ons, and freebies for students physically in specific geo-zones at specific times.
- A gamified event system that awarded points for attending events and completing in-zone tasks: a layer on top of the same geo-engine and event catalog.
Offline-first on flaky campus Wi-Fi
Mobile at university scale is its own engineering discipline. Devices range from current iPhones to four-year-old Androids on flaky campus Wi-Fi. The codebase has to absorb academic-calendar-driven traffic spikes (move-in week, finals, registration windows) without falling over.
The backend leaned on AWS AppSync for offline data caching: requests made without connectivity were queued locally and flushed when Wi-Fi came back. From the student's perspective, the app stayed usable through dead zones. The request to RSVP to an event, mark a task complete, or update a schedule succeeded the moment connectivity returned. The instant-messaging layer of the social feed sat on top of the same AppSync stack.
During the messaging build I tracked down a mission-critical bug in the Apollo client layered on top of AppSync: a legitimate cache-behavior issue in the framework that had stumped the rest of the office. The fix was a few lines; the path to it wasn't.
Most of the work here is unglamorous: caching, offline-first patterns, graceful degradation, deferred sync. That's where the user impact actually lives.
Seven days to ship a COVID symptom-check survey
When COVID broke out in early 2020, ASU's president Michael Crow reached out directly to our office: ship a campus-wide symptom check-in inside the app, in seven days. Students would check in daily if symptomatic; the geo-location layer correlated those check-ins against who else had been physically near them, so contact-tracing follow-ups could happen faster than manual reporting allowed.
We shipped on time.
The seven-day window was only possible because the platform investments were already there: the geo-engine, the offline cache, the AppSync stack. Foundations matter most when the timeline doesn't permit any.
The trade-offs
Native modules across iOS and Android each have their own quirks, and a feature that ships clean on one platform will have a five-line workaround on the other. Most of the engineering value isn't in the headline feature; it's in the failure modes you anticipate so the app doesn't break for the student trying to register for class on shaky campus Wi-Fi.