Coordinator-free fan-out
Any node can plan a query. The one that receives it coordinates that query and nothing else — there is no master to elect, lose, or fail over.
Learn moreGnarl is one binary that turns a place your data already lives into a node. Nodes index locally, advertise what they can answer, and cooperate for exactly as long as a query takes.
Any node can plan a query. The one that receives it coordinates that query and nothing else — there is no master to elect, lose, or fail over.
Learn moreNodes advertise a few kilobytes describing what they can answer. Planning eliminates everyone who provably cannot help, then asks the rest.
Learn moreCorpora are opened read-only and indexed in place. The query travels to the data; the documents stay on the host that owns them.
Learn moreEvery hit carries the signature of the node that produced it, not the node that merged it. Tampering in transit is detectable, and detected by default.
Learn moreEach node decides who may ask, which indexes are visible, which fields come back, and how fast. Evaluated locally, every time, before the index is touched.
Learn moreFull-text, keyword, range, geospatial containment, and kNN vector search — composed with boolean clauses in one query.
Learn moreThe same node runs on a server rack, a laptop, or a phone in the field. Cloud to edge, one protocol, no privileged tier.
Learn moreA query enters at whichever node an application happens to reach. That node plans, fans out, merges, and verifies — then goes back to being an ordinary node.
POST /v1/searchOne process, one identity, one or more local indexes. The only component that touches data.
The signed summary a node advertises: fields, ranges, footprints, vocabulary. Never documents.
Eliminates nodes that cannot contribute, ranks the survivors, fans out within a budget.
Checks every result signature against known identities before a hit reaches the caller.
Planning is local and takes microseconds. The wall clock is dominated by the slowest node you decided to wait for — which is why the deadline is yours to set.
▸ parse 2 clauses · 1 filter 0.3ms
▸ plan 300 peers → 41 eligible 0.9ms
▸ fan-out 41 asked · deadline 750ms
├─ n1qh7f…c2a8 18ms ✓ 24 hits
├─ n1m4kd…91b3 31ms ✓ 17 hits
├─ n1x9pl…4d7f 44ms ✓ 9 hits
├─ … 36 more ≤112ms ✓
└─ n1zz02…8e1c timeout ✗
▸ merge 124 hits ranked 3.1ms
▸ verify 39 signatures ✓ · 0 failed 1.4ms
coverage 39/41 answered · complete: false
took 128msImagery too large to centralize stays with the operator that collected it, while analysts query the whole constellation as one surface.
Residency stops being an architecture problem when documents never cross a boundary in order to be searched.
Nodes keep answering locally when the uplink drops and reconcile manifests when it returns.
Three clouds, three nodes, one query. Stop paying to funnel everything into a fourth place.
Gnarl is early. This is the honest version of the list — not the one that assumes everything ships.
Install the binary, point it at a corpus, and search it locally before you announce anything to anyone.