High School Gymnasiums Have Terrible WiFi
That’s the whole problem, right there.
This sounds trivial until you’re a recruiter standing in front of 200 students, trying to show them their future career - and your presentation won’t load. Your company has spent thousands getting you to this school. Coordinating with administrators. Booking the assembly. And now you’re standing there while 200 teenagers watch a loading spinner.
I’ve been embarrassed in front of crowds before. It’s not fun. Now imagine that’s your job, every week, in a different school.
UTI (Universal Technical Institute) had a hundred field representatives across the country. They traveled to high schools every week, recruiting students for technical training programs. Every presentation mattered. Every failure cost money and - honestly, more importantly - credibility.
Nobody Knew How to Do This Yet
So here’s the thing: in 2016, the web was designed around connectivity. “Offline web apps” was basically an oxymoron. The technology to make it work - what we now call Progressive Web Apps - didn’t even exist as a standard yet.
But UTI’s representatives needed presentations that worked without internet. Not “mostly worked.” Not “worked if you found a hotspot.” Worked, period, in a gymnasium in rural Nebraska with zero bars of signal.
I sat with this problem for a while. Everyone kept saying it couldn’t be done. But the recruiters didn’t care about what was technically possible - they just needed to stop being embarrassed in front of kids.
So I built PrezHub two years before PWA became a thing.
Building What Nobody Had Built Yet
The system had to solve several problems at once, and they all interconnected in annoying ways.
First: the presentations themselves needed to live on the device. Videos, images, hundreds of slides - all cached locally, all ready to go before the rep ever walked into the school.
Second: every representative needed personalization. Their contact info, their social media, their regional branding. These customizations had to sync when they had internet and remain available when they didn’t.
Third: analytics. UTI needed to know what was working. Which slides got attention? Where did students tune out? This data had to be collected during presentations and uploaded later when connectivity returned.
Each of these would’ve been a project on its own. Getting them all to work together, offline, reliably? That was the actual challenge.
Videos Were the Worst Part
Honestly, videos almost killed the project.
You can’t just download a video file and expect it to play on every device, in every browser, in every condition. (I wish! That would’ve saved me weeks.) The videos had to be re-encoded for web streaming, optimized for mobile, and capable of playing even with interrupted downloads.
The media processing pipeline I built handled thousands of slides, automatically optimizing images, converting video formats, and preparing everything for offline playback. When a representative’s phone finally found WiFi at the hotel that night, everything synced seamlessly.
Getting video right took way longer than I expected. But when it finally worked… that was a good day.
50 States. 100 Representatives. Zero Failures.
PrezHub launched across UTI’s entire field organization. Representatives in every state, presenting in schools from urban Los Angeles to rural Montana.
The system achieved 99.9% presentation success rate. When a recruiter walked into a gymnasium, they knew - with absolute certainty - that their presentation would work.
Two years later, when the industry finally standardized Progressive Web Apps, I’d already been running one in production. Sometimes you just have to build what doesn’t exist yet and figure out the patterns yourself.
The Real Lesson
The web wasn’t designed for offline use. Building PrezHub meant inventing patterns that the industry wouldn’t standardize until years later. So yeah, that was technically interesting.
But the real lesson wasn’t technical. It was about understanding what’s actually at stake.
Those field representatives weren’t asking for “an offline-first progressive web application with multi-tier caching.” You know what they actually wanted? To stop feeling embarrassed in front of teenagers. That was the real ask. Everything else was just implementation details.
Technology solves business problems, but those problems are always human at their core. That’s something I think about a lot…