Portfolio · LinkedIn · Writing · Get in touch
I'm a software consultant based in the Netherlands, with engineering experience since 2013 across digital banking, payments and enterprise software. I connect architecture with hands-on implementation: reusable components, clear system boundaries, reliable delivery and teams that can maintain what they build.
Currently Senior Android Engineer at BUUT (ABN AMRO), contributing to a Kotlin Multiplatform (KMP) migration. Previously Mobile Principal Engineer and Chapter Lead at Backbase, working on modular banking components, mentoring engineers and collaborating across product and QA.
- Mobile engineering: Kotlin, Java, Jetpack Compose, coroutines and Flow; modular architecture, offline workflows and lifecycle recovery.
- Cross-platform and AI: KMP migration contributions, Flutter/Dart portfolio projects and AI-assisted development supported by code review and executable verification.
- Backend and integration experience: C#/.NET, SQL, APIs and enterprise systems, complemented by public work in messaging and distributed systems.
- Technical leadership: architecture reviews, chapter leadership, mentoring, hiring and collaboration from design through release.
- Engineering quality: unit and UI testing, CI/CD, code review and documentation that makes decisions easy to inspect.
These demos, prototypes and reference projects make the engineering decisions visible. Each repository documents its own setup and scope.
| Project | What to look for | Explore |
|---|---|---|
| TransferFlow · Kotlin / Compose | A synthetic banking demo focused on exact money, durable request state and safe retries after an uncertain transfer outcome. | Two-minute walkthrough · Verification |
| BoundaryLab · Kotlin / Flutter / C++ | Bounded middleware across Android and JVM clients, plus a separate native Binder service prototype in a source-built Android 16 image. | Architecture · Evidence gallery |
| MiniBank · Go / Java / Rust | A money-transfer reference architecture exploring saga orchestration, Kafka, gRPC, idempotency and observability. | Design decisions |
| Flutter News Reader · Dart / Flutter | A BLoC and Clean Architecture sample with unit and integration tests, coverage tooling and a Bitrise pipeline. | Architecture and testing guide |
A closer look: recovering a transfer after a lost response
TransferFlow preserves the original request when a response is lost, then recovers the outcome using the same idempotency key. The demo uses synthetic accounts and makes no real payments.
Interested in opportunities where hands-on engineering, architecture and technical leadership come together. For relevant roles or a conversation about my work, reach me on LinkedIn or email.





