Selected results
Independent consultant since 2020. Here's what that's looked like in practice.
Maintaining SDKs that ship inside thousands of apps
Bugsnag Cocoa & Cocoa Performance SDKs · SmartBear · 2023–present
SmartBear needed a primary maintainer for their open-source crash reporting and performance monitoring SDKs for Apple platforms. These SDKs run inside thousands of third-party apps — a bug in the library means a bug in someone else's product. Reliability standards are extreme.
I took over full lifecycle ownership: architecture, implementation, testing, community engagement, and releases. I was the primary contributor to the Cocoa Performance SDK — a performance monitoring library built from the ground up. The technical depth across both SDKs includes Mach exception handling, POSIX signal processing, Objective-C/C++ exception capture, XCFramework distribution, and OpenSSF Scorecard compliance.
250+ GitHub stars on the Cocoa SDK. Both actively maintained and shipping in production.
Rescuing a VOD app rewrite across 190 markets
VOD platform · International client
A major VOD platform serving 190+ markets needed to rewrite their iOS app. The existing app was built on proprietary technology by a previous contractor, and the client wanted to eliminate that dependency by rebuilding in standard iOS technology (UIKit, Swift).
The challenge: the app was heavily backend-driven, and nobody on the team fully understood how the system worked. The rewrite effort was stalling. I was hired as a Senior iOS Developer, but after seeing the gaps in the process, I proposed taking over as Tech Lead for the migration effort.
I tracked down the one person who understood the system end to end — the client's CTO, who had built the original backend. Through daily sessions with him, I mapped out how the system worked, designed a modular architecture for the new app, and implemented the core elements including the backend integration layer. I coordinated a distributed team across Poland and India, transferring the domain knowledge each developer needed to work on their assigned modules and managing the timezone overlap to keep delivery on track. When the software house's contract ended, the client asked me to stay on directly as Tech Lead to see the project through.
Scaling mobile development during a platform transition
Healthcare · US client
A major US healthcare company was transitioning from native iOS and Android to a cross-platform architecture. During the transition, they needed to maintain feature development velocity across both tracks — the core team driving the platform migration and a parallel team shipping new features for different product areas.
I built and led a 14-engineer contractor team (7 iOS, 7 Android) working alongside the client's internal team across Poland and the US. The challenge was coordination: two teams, two departments, different priorities, shared codebase. I drove architecture alignment between the tracks, established code quality standards across both teams, and kept feature delivery on schedule while the platform evolved underneath us.
Building a cross-departmental security library
Mobile Banking · mBank (via 7N) · 2018–2020
mBank's mobile security team was building a shared security library and a mobile authorisation system to replace both a costly licensed 2FA solution and SMS-based authentication. The team covered iOS, Android, and backend.
I was the sole iOS developer, but my role went beyond implementation. I participated in the solution design phase and helped design the authentication protocols that underpinned the system across all platforms. The in-house mobile authorisation system eliminated licensing costs, reduced reliance on SMS, and provided stronger security. The library became the first shared security component used across multiple departments in the organisation, serving apps with 3M+ mobile users.
Learning Flutter on the job, shipping a fintech app in 6 months
Fintech · US client
I was hired as a Senior iOS Developer to work on an existing iOS app. Two weeks in, the company decided to push harder on a new Flutter-based fintech project. They asked if I could join the effort. I'd never written a line of Flutter.
I said yes. After a week of learning, I was contributing to the repo. After a month, I was designing core components of the app architecture and developing main features — including the gift card purchase flow with custom payment integration and SSL pinning. Thirteen years of mobile development meant the architecture patterns and platform thinking transferred — Flutter was a new syntax, not a new discipline. The team was four mobile developers, all new to Flutter. We shipped a working app within six months.
From crashing app to Poland's #1 public transport app
JakDojade · CITY-NAV · 2013–2015
When I joined, JakDojade was a small team of under 10 people. The iOS app was popular but unstable — storage layer and multithreading issues were causing crashes and freezes within seconds of use. The mobile team was three outside contractors, loosely coordinated.
I started working one day a week, systematically finding and fixing the stability issues that were driving users away. After joining full-time, I took on a broader role: I introduced SCRUM to the team so everyone had visibility into what others were working on, implemented a modern redesign of the app, and coordinated work across platforms to ensure consistency.
The biggest impact was on revenue. I designed and implemented in-app purchases and a subscription plan. When I joined, the app's revenue didn't cover my salary. When I left, it was profitable and growing. I also proposed and prototyped an in-app ticket store — selecting and integrating the payment provider, working with a business lead who negotiated deals with local transport companies, and solving margin challenges where payment provider commissions threatened to exceed our own.
I worked directly with C-level management throughout, turning feature ideas into shipped product. The app now has over 10 million downloads and remains Poland's leading public transport app.