About
I'm a frontend engineer with a decade of experience building for the web, currently focused on Vue, Nuxt, and TypeScript. Over the past several years I've specialized in fintech payments, building secure checkout and payment flows across card, wallets, and open banking, with particular attention to PCI scope on the card side: tokenization, 3D Secure, and vaulting integrations.
The problems I find most interesting live where user experience and compliance pull in different directions: keeping a flow simple without cutting corners on security and regulation requirements.
Recent Projects
Merchant Payments Platform
Owned the frontend for a payments platform used by merchants across many countries to offer multiple payment methods to their own customers (card payments, Apple Pay, Google Pay, Pix, Boleto, Trustly, and Volt), with per-merchant control over which methods to expose. The core challenge was unifying fundamentally different integration models (redirect-based regional methods, card flows, wallet APIs) behind one consistent, embeddable interface.
White-Label Bitcoin Exchange Platform
Owned the frontend for the end-customer application of a white-label Bitcoin exchange platform (user authentication via email and e-ID, compliance onboarding, and buying, selling, and transferring Bitcoin), sold and customized across up to four brands from one shared codebase. The core challenge was a design system and feature-toggle architecture flexible enough for real per-brand differences, built and maintained under the strict compliance requirements of a regulated financial product.
Card Payments SDK
Designed and built a framework-agnostic TypeScript SDK abstracting card tokenization and 3D Secure behind a single interface, used as the underlying card-payments engine for consumer-facing frontend applications, supporting multiple tokenization and 3DS providers (PCI-Proxy, Evervault, Paysafe) interchangeably. The core challenge was normalizing different provider request/response shapes and 3DS challenge/redirect flows so consumer apps never needed to know which provider was active underneath.
BTC Market Data Proxy
Built an AWS Lambda service powering real-time Bitcoin price charts and exchange rates for a frontend application, proxying third-party market data providers, keeping API keys server-side and avoiding the CORS restrictions direct client calls would have hit. When a licensing change later forced a provider switch, consumers were unaffected: the interface was designed around a stable response format, not either provider's raw API shape, so the swap required no frontend changes.
Tools & Tech
- Frontend: Vue.js, Nuxt.js, Astro
- Backend: Node.js, AWS Lambda
- Languages: TypeScript, JavaScript
- Build & Deploy: Docker, GitHub Actions
- AI Tools: Claude Code, GitHub Copilot
Contact
Have something in mind: a role, a project, or just want to talk shop? Feel free to get in touch.