Skip to content

wizenheimer/tinkerbird

Repository files navigation

TinkerBird

TinkerBird is a browser native vector database designed for efficient storage and retrieval of high-dimensional vectors (embeddings). It's query engine, written in TypeScript, leverages HNSW (Hierarchical Navigable Small World) indexes for fast vector retrieval. The storage layer utilizes IndexedDB, which could be extended with an lru-cache.

By co-locating data and embeddings, Tikerbird eliminates the roundtrip and reduces reliance on server-side interactions for vector search workloads. With Tinkerbird, sensitive data remains local, thus benefiting from vector search, without the associated cost, compliance and security risks.

TinkerBird uses IndexedDB as it's storage layer, which in turn builds upon Blobs and LevelDB storage systems. By using Indexeddb, it benefits from IndexedDB's adoption, stability and familiarity as a native choice for offline first workflows.

Examples

Here's a sample app built using TinkerBird. Check out Tinkerboard and Source.

Contributing

Feel free to contribute to TinkerBird by sending us your suggestions, bug reports, or cat videos. Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

License

Distributed under the MIT License. See LICENSE for more information. TinkerBird is provided "as is" and comes with absolutely no guarantees. We take no responsibility for irrelevant searches, confused users, or existential crises induced by unpredictable results. If it breaks, well, that's your problem now! jk.

References