Build the SQLite
of vector databases
Every app wants on-device semantic search, photo similarity, local RAG — AI features without a network call. There is no good embedded vector database. We are going to build one, from scratch, and understand every decision along the way.
Server-side vector databases are designed for a different world — abundant RAM, persistent network connections, dedicated hardware. The moment you embed one in a mobile app, every assumption breaks. This track is about building for the environment that actually exists on a user's device.
You need to be comfortable writing code and know basic linear algebra (dot products, what a vector is). No prior database, mobile, or ML knowledge required.
The environment you are building for
These constraints are not limitations to apologise for. They are the source of every interesting design decision in this track. You will learn more about memory, storage, and query execution by building for a phone than you ever would building for a server.
What you will enable
What you will build
The final artifact is a C library with a clean API — something you could actually ship inside a mobile app. Not a demo. Not a proof of concept. Something real.
vdb_t *db = vdb_open("photos.vdb");
vdb_result_t *r = vdb_search(db, embedding, 10);