We're building the retrieval layer we kept having to write.
Every team shipping an agent rebuilds the same scraping, cleaning, and ranking stack. We decided to build it once, properly.
Krenzo started from a frustration that will be familiar to anyone who has put a language model in front of the open web: the model was the easy part. Getting it clean, current, and appropriately sized context was where the weeks went.
The pattern repeated across every project. Wire up a search provider, discover the results are raw HTML, write a cleaner. Discover the cleaner breaks on client-rendered pages, add a renderer. Discover you're now sending 200,000 tokens per question and watch the model bill climb. Write a ranker. Six weeks in, you have an undifferentiated pipeline that isn't your product.
So we built that pipeline as a service, with the tradeoffs pointed where they should be for agent workloads: fewer tokens, real citations, and a refusal when the evidence isn't there.
We're a small, remote team of engineers who have spent most of our careers in search and distributed systems. If that sounds like your kind of problem, we're hiring.
How we work
Three commitments that shape most of our decisions.
Correctness over coverage
A system that says "I don't know" is more useful than one that's confidently wrong. We tune for precision and accept the refusal rate that comes with it.
Boring infrastructure
Nobody wants their search layer to be interesting. Predictable latency, predictable pricing, and a changelog with no surprises.
Developer-first, always
The docs are the product surface. If something needs a sales call to understand, we've designed it wrong.