TheKnarf

Local-first db (lfdb)

Local-First software is software written to work locally without an internet connection, but to still have cloud syncing capabilites to seamlessly work with the cloud.

It relates to the idea of File-first software.

I also like the philosophy of Nikolai's priciples.

Idea

I've wanted to build a database-engine on top of Git forever. I've had this idea since before the term "local-first software" was first coined.

Git was my first introduction to "local-first software", where each Git repo normally is a full clone of the repo, and you can work on it entirely offline, and then sync it with the cloud when you want to.

The idea of local-first db is to take the Rust-based gitoxide-project and implement a database on top of it thats a superset of Git.

We need the following features:

  • Works offline

  • Access management is built into the DB

  • Push & pull

  • Pub & sub

  • Privacy preserving (don't leak IP-addresses, emails, names, etc)

Tooling

Backend / Transports

I'd like to have built-in support for privacy preserving decentralized transports. To me the most interesting one is Veilid.

Less interesting projects:

Research

  • Upwelling is doing a lot of what I'd like my system to be able to provide

  • Backchannel list out a lot of how I'd like users to interact when building apps on-top of lfdb to preserve privacy. ( Backchannel prototype )

  • SNARKBlock some ideas on federated anonymous blocklists. I'm not sure if that exactly how I'd like to implement it, but it can be used as inspiration.