I'm a full-stack software engineer with a frontend focus. I live at the intersection of code, design, and spatial data: obsessed with maps, clean interfaces, and making complex things feel effortless. In the age of AI, anyone can ship software; I care about making it feel right.
I work mostly with Vue, React, and TypeScript, and I treat accessibility, performance, and security as part of the job, from component architecture through backend systems and infrastructure.
Focus areas: React · Maps & Geodata · Design Systems · UX
- Designed and implemented component-based frontend architectures at Synaps, used by 80,000+ architects worldwide
- Owned a UI component library/design system and Sentry error-tracking infrastructure end-to-end, from design through production support, on internal and client-facing systems (as an employee and as a freelancer)
- Collaborated closely with designers on redesigns, accessibility improvements, and UX refinements
- Built cross-system integrations, including a Figma plugin and Bitbucket automation
- Maintain the open-source package
hubmigrateon PyPI - Write about engineering on dev.to
- StickyFlow.ai: a collaborative app I'm building AI generation, performance, and integrations for. I also love using it to do mathematics (more on that soon!) 🌟
- lifeboard: a project-based app for organising your life, now in beta. Try it at uselifeboard.com
- Clean Agile: Back to Basics by Robert C. Martin
- Modern Software Engineering by David Farley
- Clean, maintainable code over clever hacks; avoid side effects, keep functions single-purpose
- Accessibility, performance, and security as first-class concerns, not afterthoughts
- Architectural decisions evolve, and I treat revisiting them as normal, not as a failure
- Collaboration over ego, and iterative improvement over premature perfection
Frontend: Vue, React, TypeScript, Tailwind Backend: Java, Spring, Node.js, Python, FastAPI Infra & DevOps: Docker, Kubernetes, Terraform, AWS Cloud: Cloudflare, Render, Vercel Databases: SQL, MySQL, PostgreSQL, SQLite Testing & Quality: Vitest, Jest, Storybook Monitoring & Analytics: Sentry, PostHog
Claude: writing skills, automating workflows Claude Code: day-to-day coding, working through design tradeoffs Cursor: coding, breaking down complex problems Ollama: running LLMs locally, building LLM-integrated apps



