One signed binary. Every feature compiled in. Free to run. Install Crowkis →
← back to the Roost
engineeringJuly 6, 2026· 6 min read

GPTCache proved the idea. We went and rebuilt the engine underneath.

Credit where it's due: the first semantic caches showed the world this works. Then we asked what a production-grade version would look like if you owned every layer.

The early semantic-cache projects deserve real credit, they proved that matching questions by meaning could slash LLM costs, and they got a lot of people to try the idea. We started there too. But 'proof of concept' and 'sits in the hot path of every call in production' are different engineering problems, and the gap is where we spent our time.

the engine we own end to end
enter nearest a few hops across a million points · sub-millisecond

A vector index we wrote ourselves, so the reuse checks live right next to the data.

In plain words: Owning the whole stack, the storage engine, the vector index, the embedder, the reranker, means the read path doesn't round-trip five external services to decide whether one answer is reusable.

Concretely: a bolted-together cache asks a vector library for neighbours, then a separate store for metadata, then maybe an API for a rerank, each a serialization boundary, each a latency tax. Crowkis does it in one process, in Rust, with the model bundled in. That's how you get sub-millisecond search that also checks trust, freshness, and a second opinion without feeling it.

The bottom line

The idea was proven. What was missing was an engine built like infrastructure, owned end to end, fast under load, safe enough to trust. That's the part we built.