I joined MezzeData as a part-time software developer alongside my degree, and the work has been the most useful kind of experience: real users, real constraints, and an architecture I am responsible for. Here are a few things that have stuck.
Layering is a bet on change
The app is structured into data, domain, and presentation layers. That separation is not academic neatness for its own sake. It is a bet that requirements will change, and that when they do, I want the blast radius to be small. Replacing a native iOS screen with a modular Flutter equivalent is far less frightening when the business logic does not live inside the widget tree.
The payoff shows up months later, when a feature request that would have touched everything instead touches one layer.
Turning static documents into living content
One of the projects I am most invested in is an in-house system that transforms static PDFs into structured, interactive in-app content. The naive version is a PDF viewer. The useful version parses documents into segments, caches them for fast delivery, and renders them as native, navigable content.
The hard part is not the parsing. It is designing the pipeline so that content authored once flows cleanly through to the device without a developer in the loop each time.
Caching is a feature, not an afterthought
Mobile users feel latency immediately. Building a caching layer early, rather than retrofitting it, changed how the app feels. Warm content loads instantly; the network becomes a background detail rather than a blocking step. Treating performance as a first-class feature has been one of the better calls.
Part-time does not mean low-stakes
Working roughly ten hours a week forces discipline. I cannot rely on holding the whole system in my head between sessions, so the code has to be legible to a future version of me who has forgotten the details. Clear module boundaries, honest naming, and small, reviewable changes are what make a part-time codebase survivable.
That constraint has probably made me a better engineer than a full-time seat would have at this stage.