Work
Almost everything here is live and clickable — go and look rather than taking my word for it. The one exception is marked, because it hasn't launched yet.
This is a deliberately short list. Client and internal work makes up most of what I have built and is not mine to publish, so rather than describing projects nobody can check, this shows fewer things and proves all of them.
15+ apps, one developer, one year
2025–2026 · Internal platform · ManufacturingA manufacturing company stopped buying software and started running its own — 15+ production applications on infrastructure it owns, eliminating $100K+ a year in licensing.
- TypeScript
- React
- Node.js
- SQL Server
- Linux
- Docker
- Azure DevOps
- MSAL / OAuth 2.0
- Azure AI Search
- Claude API
- MCP
Flick for Plex
2026 · iOS app · On the App StoreLiveA Plex client with no backend at all — the phone talks to plex.tv and to your own server directly, so there is nothing to host and no user data to lose.
- React Native
- Expo
- TypeScript
- Plex API
- RevenueCat
The Utileau network
2026 · Seven production sitesSeven live websites, ninety-six hand-written pages, one npm workspace — and an infrastructure bill of nothing but domain renewals.
- Next.js
- TypeScript
- Tailwind
- Azure Static Web Apps
- Cloudflare
A shared lead pipeline
2026 · Serverless backendOne Edge Function behind eight sites, built so the public key in the browser bundle is worthless to an attacker.
- Supabase
- Deno
- PostgreSQL
- Cloudflare Turnstile
- Resend
Tare
2026 · iOS app · SwiftIn reviewA calorie tracker that measures what you burn instead of guessing it — a filter over logged intake and smoothed weight, solving for the number every other app takes from a formula.
- Swift 6
- SwiftUI
- SwiftData
- CloudKit
- Apple Health
- Apple Intelligence
Cushion
2026 · iOS app · SwiftIn buildEnvelope budgeting with no bank login, ever — because connecting accounts means a server, an account, and a third party holding someone's banking credentials.
- Swift 6
- SwiftUI
- SwiftData
- CloudKit
Go Again
2026 · iOS app · SwiftIn buildA strength log that tells you what to load next, not just what you lifted — four questions in, a full programme out.
- Swift 6
- SwiftUI
- SwiftData
- CloudKit
Futuro Futsal — club management app
2026 · React Native appLaunching soonA club management app for a futsal club — through UAT, launching within a couple of months.
- React Native
- TypeScript
- PostgreSQL
A scroll-driven camera flight
2026 · Interactive filmOne continuous camera move, scrubbed by scroll position, with measurably invisible seams — built twice, in two completely different registers.
- Vanilla JS
- ffmpeg
- Generative video
- Next.js