Capabilities
Depth where it matters — velocity where it counts
Front-end craft, system thinking, and the habits that keep products maintainable after launch — not just shippable on demo day.
Design systemsProduct UIPerformanceAccessibilityDesign ↔ code
How I ship
Small PRs, clear scope, no surprise rewrites
Where I lean in
Dense UI, data-heavy views, marketing surfaces
How teams work with me
Embedded with eng & design, or async with tight loops
What I optimize for
Maintainability, a11y, and fast iteration after v1
01Design systems &
Discuss a systemDesign systems &
component architecture
Tokens, documentation, and composable primitives that survive handoff — designers and engineers pulling from the same source of truth.
- Composable primitives with clear API surfaces
- Storybook or equivalent for regression-safe UI
Core
TypeScriptReactNext.js
UI & motion
Tailwind CSSRadixFramer Motion
Ship
Node.jsViteVercel
Reusable primitives
Accessibility baked in — focus order, keyboard paths, and reduced motion considered before polish.
02 · Speed
Performance
- Core Web Vitals as a constraint, not an afterthought
- Image pipelines, font loading, and route-level code splitting
- Real-device testing — not just Lighthouse in ideal conditions
03 · Feel
Motion & UI
- CSS-first when it keeps bundles lean; Motion for orchestration
- Reduced-motion and focus-visible respected by default
- Scroll-linked and layout transitions that stay performant
Micro-interactions · scroll reveals
04 · Together
Collaboration
- Clear PRs, Storybook or live previews, and readable diffs
- Figma → code with token alignment and naming that matches the system
- Async-friendly: written specs, Looms, and tight feedback loops
Git · reviews · design sync