Sync + Async
State Management.
One Mental Model.

Built on the patterns you know. Refined into something simpler.
Fine-grained reactivity, minimal boilerplate, zero dependencies.
npm i floppy-disk
Get Started
✓ 103 modules transformed.
/.vite/manifest.json 3.23 kB │ gzip: 0.60 kB
/assets/root-DS469DaY.css 15.33 kB │ gzip: 3.74 kB
/assets/components-DrxDq1-G.js 1.01 kB │ gzip: 0.59 kB
/assets/store-floppy-disk-D634Gohp.js 1.13 kB │ gzip: 0.52 kB 🎉
/assets/store-zustand-BJYVMYXp.js 1.68 kB │ gzip: 0.79 kB
/assets/utils-DpvILWFZ.js 1.95 kB │ gzip: 0.60 kB
/assets/root-CB2-KCWF.js 2.48 kB │ gzip: 1.01 kB
/assets/home-DkCzTYiQ.js 2.81 kB │ gzip: 1.19 kB
/assets/async-floppy-disk-C1Jq5CIc.js 7.15 kB │ gzip: 1.99 kB 🎉
/assets/react-BaGhX6Iy.js 11.44 kB │ gzip: 3.87 kB
/assets/async-tanstack-Bqi-YPia.js 43.94 kB │ gzip: 12.62 kB
/assets/chunk-UVKPFVEO-BCVTWmlK.js 126.29 kB │ gzip: 42.59 kB
/assets/entry.client-CMKBzKJ-.js 190.57 kB │ gzip: 60.05 kB
✓ built in 715ms

In Short

Like Zustand, but has additional capabilities:

  • No selectors: automatically optimizes re-renders
  • Store events: onFirstSubscribe, onSubscribe, onUnsubscribe, onLastUnsubscribe
  • Easier to set initial state on SSR/SSG
  • Smaller bundle

Like TanStack Query, but:

  • DX is very similar to Zustand
    → One mental model for sync & async
  • Much smaller bundle than TanStack Query
    → With nearly the same capabilities