00
Senior Native Mobile Developer
Most apps are "almost done". Mine ship.
No handovers between teams, no surprises at the deadline.
Email me your projectYou send one email. I reply within one business day. No sales funnel, no bots.
Not hiring today? Connect on LinkedIn for when a project lands.
For ten years I built for places where almost-done isn't an option. CoronaMelder, millions of users. The NOS app, more than a million people every single day. The Dutch Parliament, Rabobank. Also the Ministry of Economic Affairs, national transport (HTM, RET, GVB) and a dozen others.
My own Sweather and changemonitor.io run on both platforms, both native and built by me.
Solo or in your team, on-site or remote. An app is done when it does what it should on a user's device. Not before.
For CTOs, product owners and agencies who need an app that actually ships.
Client work
My own products
01
Almost-done isn't an option: CoronaMelder
557commits on the iOS app. Second largest contributor.
CoronaMelder had to work from day one, with the whole country and the press watching. Rob wrote most of the background code: the invisible task that quietly wakes the app to fetch new exposure keys and check for contacts. If it stops, the app stops warning people and no one notices, so it had to keep running on millions of phones, old and new. It shipped and kept working. That is what "almost-done isn't an option" looks like in practice.
02
What you get
Pragmatic, not perfectionist. Code that ships on day one and is still readable to the next developer on day 365.
- Native on iOS and Android. Swift and SwiftUI on one side, Kotlin and Jetpack Compose on the other. One pair of hands, no translation layer, and the speed and feel of a real native app on every device.
- The right tool, not framework religion. UIKit, Objective-C and Combine where the job calls for them, so the app survives the next OS release without a rewrite.
- The whole app, not half of one. The backend too, in Python: usually FastAPI, sometimes Django or Flask. App and backend from one hand, so nothing falls through the gap between them.
- From phone to every screen. iOS and Android on the phone, plus iPadOS, macOS, watchOS, tvOS and CarPlay in the Apple ecosystem. If it runs on the device I build it, so next quarter's platform is not a fresh project.
- Tests from day one. Unit, snapshot, UI. Accessibility just as much, because bolting it on later costs three times as much and so never happens.
- Short sprint or long engagement, on-site or remote, in your team or solo. Whichever fits.
- Productive in an unfamiliar codebase within a day. Proven with merged pull requests in some of the largest iOS open source projects in the world.
- Pushing back comes with the job. I don't just write code, I advise on architecture, UX and on what we should especially not build.
- My own products, not just client work. Sweather, a weather app for athletes that calculates real-time scores across 47 sports (iOS and Android). changemonitor.io for website monitoring (iOS and Android). radiospotify.nl, a Spotify version of popular Dutch radio stations. All built end-to-end, from app to Python backend. And AutoQuit, a native macOS menu bar app, built and released single-handedly as open source. I know what it's like to own a product, not just ship one.
- Open source as proof. Contributions to Signal, Lottie and Firefox. Not lurking, but code that gets merged and runs in production for millions. See the list.
- Best when we own it together. We fit when you want a partner on the outcome, not just hands on a ticket. AI helps me type faster: it does not pick the architecture, and I never ship code I cannot explain. If the cheapest way to close tickets is the goal, another developer suits you better.
03
Specialisations & projects
Specialisations. iOS and Android from one pair of hands, SwiftUI, CarPlay and watchOS.
My own products. Sweather, changemonitor.io and radiospotify.nl, built end-to-end, from app to Python backend. And AutoQuit, a native macOS menu bar app, written entirely by me in Swift and SwiftUI.
04
Open Source Contributions
Every developer calls themselves senior. I'd rather show my code. I contribute to some of the largest iOS open source projects in the world. Not lurking, but pull requests that get merged and run in production for millions of users. It keeps me sharp, and it's the hardest proof that I find my way around an unfamiliar codebase straight away.
| Project | Organisation | Stars | Contribution |
|---|---|---|---|
| Signal-iOS | Signal Foundation | ★ 11k+ | Privacy-first messenger, millions of users worldwide. I work on the iOS side, where security and reliability basically are the product. |
| lottie-ios | Airbnb | ★ 26k+ | The animation library the iOS industry has standardized on. Thousands of apps use it to render After Effects animations natively. |
| firefox-ios | Mozilla | ★ 12k+ | The official Firefox for iOS. A big Swift codebase, millions of users. |
| changedetection.io | ★ 30k+ | Website change detection and monitoring. My own changemonitor.io runs on top of it. | |
| Hidden | ★ 13k+ | ||
| F1AppleTV | ★ 391 | ||
| TDS-Carplay | ★ 273 | ||
| Stingray | ★ 221 | ||
| Dumpert AppleTV |
The rest is on GitHub.
05
Whoop / HackerOne
Security & Bug Bounty
I contribute to Whoop's bug bounty program on HackerOne, for the iOS app. An app that works is one thing. An app that doesn't leak data is the same job. I'd rather find the holes myself, before someone else does.
06

Personal
I'm based in Zwolle, in the Netherlands, working across the country and remote. Outside work I run Ultras, do Adventure Racing and Cross Triathlons, and look for mountains to hike. Not as a CV footnote. It's the same discipline that carries into the workday: keep going when it gets messy, stay focused on what needs to ship, and clients never have to chase me down.