I build web apps
and keep them
running.
What I build
Three kinds of work.
Most of what I do falls into one of these.
E-commerce storefronts
B2C storefronts on MedusaJS with custom checkout flows, Mollie payments, and ZeptoMail for transactional emails, with Supabase and Redis powering data and caching.
Content & marketing sites
Performance-tuned Next.js sites with Sanity CMS. Lighthouse-optimized, accessible, and easy to update without breaking things.
HubSpot portals & CRM integrations
Multi-role portals with per-role dashboards and role-based access. HubSpot CRM integrations for lead assignment, deal sync, and workflow automation. Also internal tools — SSL trackers, AI assistants, admin dashboards.
Recent work
Things I've shipped.
A few projects from the last couple of years.
Multi-role portal with HubSpot CRM integration
Built for a US building products manufacturer: contractors manage homeowner leads and submit quotes, distributors get scoped access, and HubSpot stays in sync with portal activity via API workflows for lead assignment and deal updates.
Automated SSL tracking for 500+ client websites
Tracked expiration across 500+ client sites with automated renewal reminders and task assignments. Replaced the spreadsheet the client care team used to chase manually.
AI content & code assistant used across teams
Co-built with Laravel, React, DynamoDB, and OpenAI. Used internally for writing, proofreading, email drafting, and debugging code.
Side projects
Things I built for myself.
Usually to solve my own problem, sometimes just to try something.
Strava Webhook
Cloudflare Worker that listens for new Strava activities and triggers a deploy to AWS EC2 via GitHub Actions, keeping this portfolio's activity data fresh.
This portfolio
Statically exported Next.js site with GitHub and Strava API integrations. Blog posts are markdown with custom syntax highlighting.
Boardgameplay
Real-time multiplayer board game platform built during my internship. Built solo using Next.js with Firebase for realtime sync.
Tech Feed
Article-sharing platform with auth and news aggregation via NewsData.io. Deployed through GitHub Actions CI/CD.
Worked with
Where I've worked.
Off the keyboard
I run in my spare time.
All-time totals, pulled from Strava.
99
Runs
646 km
Distance
83h 56m
Moving time
More
Have a look around.
The rest of the site, if you want more detail.