From spec to deploy — state design, data flow, edge cases, telemetry. Not just components in isolation.
I embed into product teams as a frontend engineer — owning features from product conversation through production. Independent enough to drive decisions, accountable enough to ship the outcomes that follow them.
End-to-end feature ownership in React and Next.js. I take work from product conversation to production — building user-facing flows, complex state, and the architecture that holds them together. TypeScript-first, component-driven, with state managed in Redux or Zustand and performance treated as a first-class concern, not a cleanup pass.
Admin and operations interfaces that teams actually run on. Configuration UIs, data-dense dashboards, complex tables with filtering and bulk actions, role-based access — turning business logic into something operators, finance, and content teams can trust and move fast in.
AI-powered product surfaces built to feel reliable, fast, and product-grade — not demo-grade. LLM integrations, streaming responses, agent and assistant UIs, semantic search, prompt and tool orchestration. The layer where AI stops being a feature flag and starts being a product.
Shared component libraries, design tokens, and frontend infrastructure that scale with the team. Consistent patterns across products, documented primitives, and the kind of foundation that makes every next feature ship faster — not the kind that quietly forks and rots.
Marketing sites and product landings in Next.js or Webflow — the stack call depends on who owns the site after launch. Performance-first build, considered motion, CMS the marketing team actually runs themselves. Accessible by default, fast on Lighthouse, structured so the next campaign doesn't need an engineer to ship.
Initial conversation on product context, team setup, constraints, and what success actually looks like.
Written approach: phases, technical decisions, dependencies, how the work plugs into the team's existing flow.
In your repo, in your tools, in your team's rhythm. PRs, design reviews, async by default. Decisions owned, not deferred.
Production hand-off with docs and context. Continued involvement for iteration, follow-up work, and what comes next.

Recent work includes a Notion-like app with AI features and a creator analytics dashboard, so there's experience with complex UIs, state management, and integrating APIs. I care about clean data flows, performance, and code that other engineers actually want to touch.
Looking for a full-time role in a product team — somewhere features are owned end-to-end and decisions sit close to the code. Open to short engagements with product teams in the meantime.
We'll talk through what you're building, where the friction is, and whether I'm the right fit. If we're not aligned by minute 20, I'll point you to someone who is.