Hi HN, I made this. My brother wanted to use per-tenant SQLite at his startup, but really likes Electric’s Shape model for Postgres. So I got curious to see if the same idea was feasible for SQLite.
Electrolite is “Electric-style Shapes, but for SQLite, embedded in an app.” The server defines authorized subsets of rows, the browser asks for one by name, gets an initial snapshot, then long-polls for logical changes captured by SQLite triggers.
It’s very experimental, not on npm yet, and the predicate language is intentionally small. I also wouldn’t describe it as deeply optimized yet. But in a local in-process smoke test, one SQLite write woke 1000 live Shape clients and all materialized the new row in ~100ms, so it looks promising for SQLite-first apps.
Would love your feedback and suggestions, and maybe it will even be useful for you.
Hi HN, I made this. My brother wanted to use per-tenant SQLite at his startup, but really likes Electric’s Shape model for Postgres. So I got curious to see if the same idea was feasible for SQLite.
Electrolite is “Electric-style Shapes, but for SQLite, embedded in an app.” The server defines authorized subsets of rows, the browser asks for one by name, gets an initial snapshot, then long-polls for logical changes captured by SQLite triggers.
It’s very experimental, not on npm yet, and the predicate language is intentionally small. I also wouldn’t describe it as deeply optimized yet. But in a local in-process smoke test, one SQLite write woke 1000 live Shape clients and all materialized the new row in ~100ms, so it looks promising for SQLite-first apps.
Would love your feedback and suggestions, and maybe it will even be useful for you.