Full-stack Software Engineer with a frontend focus, a clean-architecture mindset, and a passion for building user-centric, scalable software. I work primarily with Vue.js, React, and TypeScript, and care about maintainability, accessibility, performance, and security — from UI and component architecture through backend systems and infrastructure.
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.
Focus areas: React · Maps & Geodata · Design Systems · UX
- Worked on internal and client-facing production systems as both an employee and a freelancer, owning a UI component library/design system and Sentry error-tracking infrastructure end-to-end from design through production support
- Designed and implemented component-based frontend architectures at Synaps, used by 80,000+ architects worldwide
- Collaborated closely with designers on redesigns, accessibility improvements, and UX refinements
- Built cross-system integrations, including a Figma plugin and Bitbucket automation
- Maintain open-source packages:
hubmigrateon PyPI and several packages on npm - Write about engineering on dev.to
- StickyFlow.ai — a collaborative app, building AI generation, and working on performance, integrations, and more
- 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 — 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
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


