A post-vector database where data lives in crumbs, queries are nibbles, and every embedding cluster is a chip. Scientifically rigorous. Shamelessly delicious.
CookixDB inherits NoVectDB's contextual indexing kernel and wraps it in a four-layer architecture inspired by the physical structure of a chocolate-chip cookie. Each layer solves a distinct computer science problem — and tastes great.
Every database operation has a culinary alias. The serious names work too, but
using nibble()
instead of query()
will make your tests 40% more enjoyable. Peer-reviewed.
from cookixdb import CookieJar # Open (or bake) a database jar = CookieJar.open("my_db") # alias: .bake() # Insert a vector (crumbs) jar.bake(id="doc_001", vec=[0.82, -0.31, 0.54], meta={"text": "hello world"}) # Query nearest neighbours (nibble) results = jar.nibble(vec=[0.79, -0.28, 0.60], k=5) # Delete a document (crumble) jar.crumble(id="doc_001") # Flush to disk (cool_down) jar.cool_down() # alias: .flush()
σ²_max.ef controls exploration factor (default 64). Bigger ef = slower + tastier results.A live 3D projection of CookixDB's chip-clustering algorithm based on the NoVectDB composite distance kernel. Insert crumbs, query k-NN, watch Lloyd's algorithm converge in real time. Drag to orbit · scroll to zoom.
CookixDB's search complexity derives from a combination of Voronoi partitioning and navigable small-world graphs. The cookie metaphor is aesthetic; the math is real.
Honest comparison. We win on naming. We're competitive on everything else.
| Feature | Pinecone | Weaviate | Chroma | CookixDB 🍪 |
|---|---|---|---|---|
| Fun method names | ✗ | ✗ | ✗ | ✓ nibble() |
| Built-in context tensor | ✗ | ✗ | ✗ | ✓ NoVectDB |
| Cosine similarity | ✓ | ✓ | ✓ | ✓ |
| HNSW index | ✓ | ✓ | ✗ | ✓ chip-HNSW |
| Bring-format queries | ✗ | ✗ | ✗ | ✓ |
| Open source | ✗ | ✓ | ✓ | ✓ MIT |
| Delicious metaphors | ✗ | ✗ | ✗ | ✓✓✓ |
| Written in Python | ✗ | ✗ | ✓ | ✓ |
| Auto chip splitting | ✓ | ✓ | ✗ | ✓ σ² threshold |
| Smells like cookies | ✗ | ✗ | ✗ | scientifically unclear |
bake() a vector,
you are not just inserting data — you are applying heat (computation)
to transform raw ingredients (floats) into a structured, queryable
crumb. The metaphor is basically a free PhD thesis.
cool_down()
does both metaphorically and literally. It also runs the garbage
collector on your crumbled data.