NL | EN

Almost-done isn't an option: CoronaMelder

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.

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.

Available now. Reply within a business day, not weeks of silence.

Discuss your project

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.

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.

Signal-iOS

★ 11k+ Signal Foundation

Privacy-first messenger, millions of users worldwide. I work on the iOS side, where security and reliability basically are the product.

lottie-ios

★ 26k+ Airbnb

The animation library the iOS industry has standardized on. Thousands of apps use it to render After Effects animations natively.

firefox-ios

★ 12k+ Mozilla

The official Firefox for iOS. A big Swift codebase, millions of users.

Website change detection and monitoring. My own changemonitor.io runs on top of it.

The rest is on GitHub.

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.

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.