All Technologies
Frameworks·expert

Zustand

Bear-bones state management

Zustand is my go-to client state library when React's built-ins fall short. Tiny, hook-based, no providers required, and easy to test.

3+years in production
25+projects shipped
expertproficiency

My take

Why I use Zustand

Redux is heavy for most apps. Context re-renders too aggressively. Zustand sits in the sweet spot - a single store, selector-based subscriptions, and zero ceremony.

Want the broader stack philosophy? Read about how Sri picks tools or browse engineering insights.

Honest assessment

Strengths & tradeoffs

No tool is perfect. Here's what shines and what to watch for.

Strengths

  • Tiny API surface, near-zero boilerplate
  • No providers needed
  • Selector-based renders out of the box
  • Middleware for persistence and devtools
  • Works seamlessly with TypeScript

Tradeoffs (honestly)

  • Less structure than Redux for very large teams
  • No time-travel debugging unless you add it
  • Easy to misuse for what should be server state

Fit assessment

When to reach for Zustand

Pick the right tool for the job.

Best fits

Modal and drawer state

Wizard / multi-step form state

Theme and user preference state

Lightweight cross-component coordination

Editor and canvas state

Not ideal for

Server state - use TanStack Query instead

Teams that need strict Redux-style patterns

Common use cases

Global UI stateCross-component coordinationWizards and flows

Resources

Learn more

Curated official docs, tutorials, and writing on Zustand.

Need help with Zustand?

Whether you're starting fresh or optimizing an existing implementation, I can help you get the most out of this technology. Read more in insights or get in touch.

Command Palette

Search for a command to run...