Aperture
A WebGL particle playground that turns any image into a living field of light. Sixty frames a second on a five-year-old phone.
Open to select projects
Creative DeveloperRemote — Worldwide
I design and build fast, tactile interfaces — where motion is a material, not decoration.
01 / About
I'm a developer and designer working where motion, performance, and clarity meet. I build interfaces that feel alive without getting in the way.
My process starts with the boring questions: what is this for, what can be removed, and how fast can it feel? What's left gets treated with care — considered type, honest materials, and movement that explains rather than decorates.
Currently exploring generative visuals, creative coding, and the small details that turn a good product into one people remember.
Start a conversation02 / Selected work
A WebGL particle playground that turns any image into a living field of light. Sixty frames a second on a five-year-old phone.
Privacy-first meeting notes that summarise locally with an on-device model. No audio ever leaves the machine.
A monochrome design system with sixty accessible components, zero runtime CSS, and documentation people actually read.
A 3 kB spring-physics library for interfaces that move like they mean it. No dependencies, no opinions about your framework.
A real-time analytics dashboard ingesting two million events a day without breaking a sweat — or the budget.
A generative typography experiment. Every scroll rearranges the letterforms; no two readings are the same.
A few things I've built. More experiments live on GitHub.
Explore the repositories03 / Credentials
Certifications and programs I've completed — the structured side of a mostly self-directed education. Select a card to view details.
04 / Open source
Repositories, experiments, and the occasional utility that escaped the lab. Loaded from the GitHub API when a username is configured.
Experiments in generative particle systems, shaders, and image sampling.
A tiny spring-physics engine for interfaces. 3 kB, no dependencies.
Monochrome component library built on CSS custom properties.
Local-first meeting notes with on-device summarisation.
A small, dependency-free cache for serverless API routes.
An interactive typography playground for variable fonts.
05 / Contact
Let's make it real. I take on a small number of projects at a time — tell me what you're building and where it hurts.