Skip to main content

EST. 2004

Back

When Real Users Tried My Thesis Project

Jan 23, 2026

MySched started as a thesis project. the goal was simple: let students scan their registration card, extract the schedule with OCR, and display it cleanly.

it worked well in demos. the defense went fine.

then real students started using it.

a thesis defense is a controlled environment. stable lighting, a device you know, a network you trust. real-world conditions are none of those things at once.

old phones with aging cameras. registration cards that are creased, faded, photographed at an angle. campus wifi during enrollment week.

these aren't edge cases. they're the normal conditions of the people the app is supposed to serve.

OCR features that performed cleanly on curated samples broke down immediately on real inputs. not because the underlying model was wrong, but because the gap between test conditions and real conditions was larger than expected.

when one person uses your app, edge cases are rare. when a hundred students use it during enrollment week, edge cases become the majority of your support queue.

the pivot that mattered most wasn't a feature change. it was a reliability change.

when reminders fail, students miss classes. when sync breaks, the schedule shown is wrong. the consequence of failure isn't an error message. it's a missed obligation.

that changed what we prioritized. retry states. clear failure paths. re-entry points that don't require restarting from scratch. loading states that communicate what's happening, not just that something is happening.

stressed users need orientation fast. every critical screen had to answer: what's happening right now, what just happened, what failed, what should i do next.

once real users are active, the cost of fixing anything goes up. a change that took an hour during thesis development took a day post-launch because of testing surface area and the risk of breaking something adjacent.

the project stopped being an academic artifact and became an operational one.

the only measure that mattered was whether it still worked when real life was noisy.