DEV Community

Taylor Rivera
Taylor Rivera

Posted on

Why I moved a dashboard's state into SQLite

Our internal dashboard kept its state in a big React context. It worked until it didn't: every refresh re-fetched everything, and the tabs lost their place.

I moved the state into a small SQLite database in the browser (via WASM). Now:

  • Filters and tab state survive reloads
  • The data layer is queryable
  • The React tree got simpler

The tradeoff is bundle size and a slightly unusual mental model. But for a tool that people use all day, persistence is worth it.

I'm reading about SQLite internals now because I want to understand what I'm actually shipping. The documentation is surprisingly readable.

Top comments (0)