I've been building apps with IndexedDB for years. The local part works fine — store data, query it, show it on screen. The hard part is keeping that data in sync with a server when the network comes and goes.

Most tutorials show you how to build an offline app with a framework. Firebase, RxDB, WatermelonDB. Those work, but they bring their own abstractions, their own sync protocols, their own opinions.

I wanted something simpler. A database with a sync API that doesn't dictate how my backend works.

Here's the setup I landed on.

npm: npm install ctrodb