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)