Ditching Redux for Zustand in an Australian FinTech Stack

How removing state management boilerplate reduced our frontend bundle size by forty percent across our Melbourne team.

ENGINEERING

9/29/20262 min read

Our web application state management had ballooned into thousands of lines of actions, reducers, and saga middleware over four years of feature growth. The sheer overhead was slowing down build times and frustrating every new engineer joining our Melbourne engineering team. We decided to execute an incremental refactor to simplify our client architecture.

Evaluating Boilerplate Against Real Developer Velocity

Redux provided predictability, but the cognitive burden of maintaining separate slices for simple UI states was dragging down pull request turnaround times. After benchmarking lightweight alternatives, Zustand emerged as the cleanest solution due to its hooks-based store design and zero-dependency footprint. It allowed us to keep immutable state logic without endless action creators.

Executing the Incremental Migration

We did not stop feature work for a full rewrite; instead, we migrated isolated feature modules one pull request at a time. By wrapping existing stores and gradually replacing connected components with direct store selectors, we slashed our bundle footprint and simplified debugging across the entire frontend repository.

Measurable Performance and DX Gains

Total JavaScript payload dropped by forty percent on initial page load, directly improving time-to-interactive metrics for low-bandwidth mobile users. If your team is struggling with state complexity, cutting legacy state libraries in favor of minimalist hook stores is often worth the effort.