My career building web, mobile, payments, authentication, and travel products.
Omio
Senior Fullstack Software Engineer
Berlin, Germany
September 2025 โ Present
Node.js
TypeScript
React
React Native
AI
Leading the migration of web, mobile, and backend authentication to one centralized platform.
Maintaining identity and access management systems, including OAuth and SSO.
Maintaining payment services and developing live-update services used by millions of travelers.
Supporting shared Node.js packages and mentoring teams integrating the authentication platform.
Creating AI-assisted engineering automation, skills, and MCP servers, and supporting technical hiring.
Omio
Software Engineer
Berlin, Germany
November 2016 โ August 2025
Node.js
TypeScript
React
React Native
Java
Spring Boot
Built and maintained PCI-compliant financial and payment systems.
Integrated card payments, PayPal, Apple Pay, Google Pay, iDEAL, Klarna Sofort, Alipay, and WeChat Pay through Adyen and Braintree.
Built OAuth and SSO authentication flows for Google, Apple, Facebook, and email login.
Led password-based login and passwordless two-factor authentication implementations.
Built and maintained fraud-prevention capabilities.
European bank
Software Consultant ยท Contractor
Amsterdam, Netherlands
August 2016 โ October 2016
Worked as a software consultant for one of Europe's largest banks. Further details are protected by a non-disclosure agreement.
Booking.com
Graduate Software Developer
Amsterdam, Netherlands
August 2015 โ July 2016
Added functionality for surfacing user-generated content.
Built post-sales features for offering additional products and extras after booking.
Created more than 30 experiments measuring bookings, turnover, performance, and other business metrics.
Selected work projects
Each project is presented as a concise narrative and includes every service-scale figure available in my career records.
Centralized email service
Node.js
TypeScript
Microservices
Booking, payment, customer-support, and marketing emails were implemented across separate legacy systems. Create a shared service that teams could use for business-critical email delivery. Built a centralized backend service, migrated more than 30 email types, and removed legacy email code from other projects. Made new email types faster to integrate and consolidated monitoring and maintenance in one service.
Documented service scale
About 1,000 requests/minute
30+ email types
Multiple product and support teams
Pay Page migration
React
React Native
Node.js
The Pay Page had separate native implementations across mobile platforms. Unify the payment experience and reduce duplicated platform work. Led the migration of the Pay Page from native iOS and Android implementations to React Native while coordinating frontend and backend integration. Created a shared cross-platform payment experience with a more maintainable implementation.
Documented service scale
About 1,000 requests/second
iOS and Android travelers
Shared mobile payment flow
LLM travel guide
Node.js
LLM services
Backend
Travelers needed useful destination guidance within the booking experience. Deliver relevant travel recommendations with a production backend feature. Built the backend for an LLM-powered travel guide and integrated generated recommendations into the product experience. Made contextual travel recommendations available to travelers inside the product.
Documented service scale
Production traveler-facing feature
Request volume not publicly documented
Live updates and timetables
Node.js
Microservices
LLM services
Travelers needed timely notifications and reliable station arrival and departure information. Build services capable of delivering live travel information at high traffic volumes. Developed notification and timetable microservices and incorporated LLM-powered recommendations into live updates. Delivered live travel information and recommendations to millions of travelers.
Documented service scale
About 10,000 requests/second
Millions of users
Travel notifications and station data
Global payments and PSP integration
Node.js
TypeScript
Adyen
Braintree
A global travel platform needed secure payment options across markets and devices. Expand payment coverage while maintaining PCI-compliant services. Built integrations for cards, PayPal, Apple Pay, Google Pay, iDEAL, Klarna Sofort, Alipay, and WeChat Pay through Adyen and Braintree. Enabled travelers to pay with locally relevant methods through a shared payment platform.
Documented service scale
About 1,000 requests/minute
8+ payment methods
Global travelers
Authentication and user profile platform
React
React Native
Node.js
OAuth
SSO
Authentication and profile components were distributed across teams and platforms, causing inconsistent sessions and maintenance overhead. Centralize authentication for web, mobile, and backend consumers. Built OAuth, SSO, password, passwordless 2FA, and social-login services and frontend components, then guided teams through migration. Reduced unexpected logouts, improved session consistency, and simplified authentication maintenance.
Documented service scale
About 100 requests/second
Web and mobile users
Multiple product teams
Checkout payment components
React
React Native
Node.js
Checkout payment methods and frontend rules needed to be reusable across the main checkout experience. Extract payment UI and rules into components that could be integrated consistently. Helped move payment-method components into a shared package and implemented frontend payment rules. Improved reuse and consistency for payment selection across checkout experiences.