World-class frontend engineering - React philosophy, performance, accessibility, and production-grade interfacesUse...
Development
Code generation, debugging, testing, and development workflows
Expert in navigating and manipulating git history. Covers finding bugs with bisect, understanding code evolution,...
Git is deceptively simple to learn and incredibly hard to master. The difference between a team that ships and a...
Expert at building multi-language applications. Covers next-intl, react-i18next, ICU message format, RTL support,...
World-class infrastructure automation - Terraform, Pulumi, CloudFormation, and the battle scars from managing...
Expert knowledge for Next.js 13+ App Router architectureUse when "next.js app router, server component, client...
Safe code transformation - changing structure without changing behavior. From Fowler's catalog to legacy code...
Expert in writing, debugging, and explaining regular expressions. Covers readable regex patterns, performance...
Svelte compiles your components to vanilla JavaScript at build time. No virtual DOM, no runtime framework. The...
Strategic technical debt management - understanding the debt metaphor, knowing when to take on debt, when to pay it...
Expert in making the business case for technical debt reduction. Covers quantifying debt costs, getting stakeholder...
Good tests give you confidence to ship. Bad tests give you a false sense of security while slowing you down. The...
World-class UX design expertise combining Don Norman's human-centered principles, IDEO's design thinking...
Vue is the progressive JavaScript framework - adopt as much or as little as you need. From sprinkles of reactivity...
Use when writing tests. Use when test structure is unclear. Use when arrange/act/assert phases are mixed.
Use when a class creates its own dependencies. Use when instantiating concrete implementations inside a class. Use...
Use when writing similar code in multiple places. Use when copy-pasting code. Use when making the same change in...
Use when exposing internal state. Use when making fields public for convenience. Use when external code modifies...
Use when creating mutation endpoints. Use when trusting frontend to prevent duplicates. Use when payments or...
Use when tempted to write clever code. Use when solution feels complex. Use when showing off skills instead of...
Use when creating subclasses or implementing interfaces. Use when tempted to override methods with exceptions or...
Use when adding new functionality to existing code. Use when tempted to add if/else or switch branches. Use when...
Use when working with API keys, passwords, or credentials. Use when asked to hardcode secrets. Use when secrets might leak.
Use when component does too many things. Use when mixing data fetching, logic, and presentation. Use when code is...