On – Building On's First Multilingual Consumer App 2022 - 2024 / 16 months
On is a premium Swiss sportswear company, often compared to Nike or Adidas in terms of brand presence and innovation. I joined their mobile team at a pivotal early stage to help build their first public-facing, multilingual consumer app for iOS and Android using Flutter. The app has been well received by users, maintaining a strong rating in the App Store and serving as an important digital touchpoint for customers worldwide.
From the beginning, I was deeply involved not just in implementation but in shaping the foundation of the app's architecture and development process. Together with the team, I participated in multiple architecture sessions where we defined a layered structure separating concerns across app, domain, data, and presentation layers. We adopted the BLoC pattern for state management, used GetIt and Injectable for dependency injection, and chose AutoRoute for robust and declarative navigation.
One of my core contributions was leading the implementation of key user-facing features like Product List, Product Detail, Search, Cart, and Checkout. I also developed a custom payment provider plugin for both iOS and Android, taking full ownership of its architecture and reliability. Later, I documented and diagrammed the entire payment flow to ensure a smooth handover as the project scaled.
Working closely with the design team, I helped translate high-fidelity prototypes into a modular UI system composed of reusable components. This modularity supported long-term scalability, visual consistency, and reduced complexity across the codebase. Special attention was paid to detail: the app included custom transitions, platform-specific interactions, and polished animations that aligned with On's brand identity.
Beyond implementation, I actively contributed to the team's engineering culture. I introduced snapshot testing, helped establish and maintain CI/CD pipelines, and regularly served as release manager in our rotating system. I helped bring structure, clarity, and calm to the team, contributing to both the project’s technical direction and the collaborative process from the beginning.
This project remains one of my favorite experiences. It brought together everything I value in software development: thoughtful architecture, clear communication, collaborative design, and a high standard of quality.
"I have had the pleasure of working closely with Stephan on the same team, where we collaborated as Flutter developers. Throughout our time together, Stephan consistently demonstrated a strong commitment to code quality and cleanliness.
One of Stephan's notable strengths is his meticulous approach to reviewing code on GitHub. He approached each review with care and attention to detail, providing valuable feedback and engaging in patient discussions aimed at improving the codebase. His dedication to maintaining clean and efficient code has undoubtedly contributed to the overall success of our projects.
Moreover, Stephan has been instrumental in enhancing my skills as a developer. His willingness to share knowledge, offer guidance, and engage in constructive dialogue has greatly contributed to my professional growth and development.
Stephan is an exceptional colleague and developer who consistently strives for excellence. I wholeheartedly endorse him for his outstanding contributions to our team and his positive impact on my own skills and development." — Maryam Karimi, Flutter Developer @ On