about

I'm a senior full-stack engineer with 15+ years building web products. I have shipped fintech and crypto payments, ecommerce, media, marketplaces, and consumer products, mostly in TypeScript, React, Node.js, and PostgreSQL. I build UIs that are easy to use, and I keep them performant, maintainable and secure.

I prefer working close to the product, so engineering decisions stay practical.

Fintech flows, crowdfunding, wallet apps, and real-time settlement, from Lightning to banking APIs.

I also work in Node.js, Rust, and SQL on the backend, and I've been a GNU/Linux user and administrator my whole career. Servers, containers, CI/CD, and deployment pipelines are as much my job as the interface. I was an early adopter of AI-assisted development, and I use it to build bigger systems faster without lowering the bar.

work
2023 - 2026

Energy payments platform

Frontend for a real-time automated B2B payments platform: banking transfers and ACH, billing, settlements, payment tracking and audit dashboards. Built the frontend integrations for Bitcoin and Lightning payments, plus the shared component library and the public Next.js site. Shipped under SOC 2 controls, and built the UX for the AI assistant and AI-assisted settlement reconciliation.

React · TypeScript · Next.js · Rust / SQLx APIs · Sentry
2023

Crowdfunding platform

Donation and crowdfunding flows: Lightning checkout, mobile QR funding and real-time donation updates. Built the content creator's admin panel and content editor, with accessibility, SEO, performance and security work on top.

React · TypeScript · Lightning · REST APIs
2022

Consumer Bitcoin wallet

React and TypeScript on a Bitcoin wallet Chrome extension: wallet UI and payment flows.

React · TypeScript · browser extension
2020 - 2022

Marketplace platform and admin

Entered as a frontend engineer and led the admin dashboard for inventory and delivery management in React and Apollo GraphQL. Then moved to the backend as well and led the team: Node.js, Knex, PostgreSQL and GraphQL APIs. Also contributed to the consumer side: a Gatsby PWA storefront and a Next.js sales interface.

React · Apollo GraphQL · Node.js · Knex · PostgreSQL · Gatsby · Next.js
2019 - 2020

Analytics and tagging for travel bookings

Tealium and Adobe Analytics tagging across several React apps for a travel bookings client: dataLayer and eVar tagging for bookings, cruises and activities.

React · Tealium · Adobe Analytics
2019 - 2020

Terrain visualization

Contributed to a terrain visualization product rendering real-world elevation data, built on deck.gl and Mapbox.

React · deck.gl · Mapbox
2018 - 2019

Internal entertainment apps

Internal apps in Angular, with Storybook, MobX and MongoDB.

Angular · Storybook · MobX · MongoDB
2018

Streaming platform media centre

Built a streaming platform's media centre in React, Next.js, TypeScript and Redux.

React · Next.js · TypeScript · Redux
2017 - 2018

Learning app for iOS and Android

An Angular and Ionic learning app, shipped to iOS and Android.

Angular · Ionic · TypeScript
2016 - 2017

National newspaper frontend and API

Built the frontend and the Node middleware API in front of its decoupled Drupal CMS, including the caching and invalidation layer.

Node.js · DustJS · SCSS · Redis · Drupal
2015 - 2016

Ticketing web platforms

Ticketing web platforms, from the booking flow through to the admin behind it.

PHP · JavaScript · CoffeeScript
2009 - 2015

Real-estate management product

A property management system for a real-estate agency, built from scratch from the data model to the interface: listings, photos, calendar, search and a full admin panel. Live for years, and being migrated to Next.js and Node.js.

PHP · MySQL · JavaScript · jQuery · Linux
2009 - 2015

E-commerce and custom admin

A full production e-commerce site for a magazines and songbooks wholesaler: catalogue, orders, PDF and photo management, and a custom admin built from scratch.

PHP · MySQL · JavaScript · jQuery
2009 - 2015

Admin generator, tools and a game

A CodeIgniter-based generator that turned database definitions and relations into a working admin CMS, used to ship client projects and an accounting system. Also image and calendar tooling and a fantasy rugby game.

PHP · MySQL · CodeIgniter · JavaScript
stack
frontend

TypeScript · React 19 · Next.js · TanStack Query · Redux and Context · Tailwind CSS · accessibility · performance · SEO · PWA

backend and data

Node.js · REST · GraphQL · OpenAPI · WebSockets and Socket.IO · PostgreSQL · Redis · Prisma · Rust

delivery

Linux · Docker · CI/CD on pull requests · staging environments · review gates · Sentry · PostHog · Prometheus · backups and rollback checks

security and compliance

SOC 2 controls · XSS, CSRF and CSP · prompt-injection hardening

domains

fintech and payments · US ACH transfers · Bitcoin and Lightning · e-commerce and marketplaces · media and streaming · crowdfunding · e-learning · games

practice

code and design review · AI-assisted development with OpenCode and Engram · MCP servers I use and build