I turn complex systems into clear interfaces.
Local time
- React
- TypeScript
- Next.js
- Astro
- Three.js
- WebGL
- MapLibre
- Mapbox GL
- OpenLayers
- Canvas 2D
- WebSocket
- Electron
- Vite
- Turborepo
- Storybook
Selected work
SatCHAT
Conversational AI platform for satellite data
2024.03—2026.10
C-LAB / Fieldmark
Tile pipeline for satellite-derived map layers
2026.08—2026.10
Design system
In-house design system
2025.03—2026.10
mapix
Interaction toolkit for canvas maps
2026.06—2026.10
Orbit
Live satellite orbits from public TLE
2026
About
I make complex products easier to use.
At a satellite data company I've built the map rendering and streaming responses behind an AI chat product, and a 3D orbit simulator.
Before that, marketplaces and websites; internally, admin tools and a design system.
The domain keeps changing. Making complex state usable doesn't.
- Canvas & 3DMap engines, Three.js scenes and 2D canvas overlays that stay smooth with a lot on screen.
- Real-timeStreaming chat, connections that reconnect on their own, and screens several people share at once.
- Product flowsFlows with many steps and more exceptions: sign-in, approvals, ordering, sign-off, CMS.
- Systems & servingDesign systems, monorepos, i18n and quality automation, including raster and vector tiles when a product needs them.
- MediaHow people experience things on screen
- InteractionHow that screen moves and responds
- EngineeringThe systems that make it work in production
I've always been drawn to how people experience things on screen. Now I build the systems that drive those experiences.
Experience
- TelePIX
- 2023.09—2026.10 · Frontend engineer
- Uglystone
- 2022.11—2023.08 · Frontend developer
- oxopolitics
- 2022.07—2022.08 · Frontend intern
- Education
- Media & Communication Arts (SIMA)