Embeddable, persistent store for mostly web applications. Fast like Redis, durable like Postgres, portable like SQLite. Stores key-value data, binary blobs, and float vectors. Distributed via WAL replication.
Leaf is a project that I came up with during my time writing web apps in Next.js.
I want to build a fast, embeddable "database" like Redis for caching files, text, and anything in between.
It will also serve as a learning project for B trees, the C language, vectors, WAL, and other things I would never otherwise touch or learn.
I'm excited to go on a development spree and see what I can build with my limited knowledge.
Leaf is not, under any circumstances, a "production-ready" database. It is a fun (I hope) project that I can use in my own apps in the future, so I won't have to spin up large, costly databases just for a user's avatar to load in nanoseconds instead of milliseconds.
Leaf is licensed under the MIT License.
The name comes from nature: a leaf represents an object held by a tree (the database).