Product & UX
Clarify goals, journeys, and information architecture before implementation. I turn constraints into flows and screens that support conversion and day-to-day use, with tradeoffs documented so the team can ship with confidence.
Figma • Next.js • Tailwind CSS
Frontend systems
Build scalable interfaces with reusable architecture, performance-minded patterns, and a clear component model. Layouts and tokens stay consistent as the product grows, so new features plug in without one-off debt.
Next.js • React • TypeScript • Tailwind CSS
APIs & data
Structure APIs and persistence so boundaries stay predictable. I favor pragmatic layering—schemas, validation, and data access patterns that stay maintainable as requirements change.
Node.js • Prisma • GraphQL • PostgreSQL • Docker
Performance
Treat speed as part of the product: lean rendering paths, sensible caching, and loading states that match real networks. Work is guided by measurable signals, not demo-only polish.
Next.js • React • Lighthouse • Vercel
Design systems & UI
Ship UI that stays accessible and consistent across breakpoints. Typography, spacing, motion, and interaction patterns are aligned so the product feels coherent under real usage.
Tailwind CSS • Framer Motion • Radix UI • Storybook