Mastersoup demo
runs on this device

No rebuilds. No downtime. Recall holds as the data drifts.

Four engines search the same 30,000 vectors on this device's CPU. Three of them build an index here, now, while you wait. Mastersoup loads a catalog computed offline and starts answering immediately.

Then delete 3,000 vectors and search again. Nothing rebuilds, and nothing goes offline to catch up. Every number below is measured on the machine you are holding.

Catalog forge-prior-v1 verifying
K
256
dim
768
model
SigLIP
vectors
30,000

Computed offline from a reference corpus and shipped unchanged. Nothing here was fitted to the vectors it is about to search.

Starting.

Engines same vectors, same device

Mastersoup
ours

fp32 vectors, catalog reused, deletes resolved inside a cluster

build
vectors0
deleted0
idle
Mastersoup 4-bit
ours

same catalog, vectors held as 4-bit codes

build
resident
deleted0
idle
Faiss IVF
baseline

k-means partition, flat lists, removal through an id map

build
vectors0
deleted0
idle
hnswlib
baseline

one global graph, M=16, deletions marked but not reclaimed

build
vectors0
deleted0
idle

Search all four at once

Delete then search again

Run a query first, then delete. The difference shows up in the results.

Beyond this demo other hardware, other scales

Thirty thousand vectors is what fits comfortably in a browser tab. These are the questions this page raises but cannot answer itself.

Does recall survive drift?
0.977 or better

A 12-hour soak on the C++ runtime, 450 million inserts and deletes over SIFT-1M, with the query distribution cycling from stationary to sweep to skew. Recall never fell below 0.977 and showed no downward trend.

Is a shipped catalog as good as one trained on your data?
0.969 vs 0.971

On a Grace-Blackwell GPU at 64 probes, Mastersoup and cuVS IVF-Flat land on the same recall curve. cuVS trained k-means on the million vectors it was about to search; the Mastersoup catalog was built offline from a 102,400-vector reference sample and never saw them. cuVS is faster at this point, 177 µs against 250 µs — the gap is kernel engineering, not partition quality.

How far does a browser tab stretch?
777 MB

One million vectors at 768 dimensions inside a 2 GB heap: the 4-bit store fits in 777 MB. The fp32 store does not fit at all.