All posts
Headband Teamannouncementsearcharchitecture

Why We Built Headband

Search infrastructure shouldn't force you into one engine. Here's why we built a retrieval control plane that lets you pick your engine per index.

Every search product on the market makes the same assumption: you'll use one engine for everything. Algolia assumes you want their proprietary engine. Typesense assumes you want Typesense. Elasticsearch assumes you want Elasticsearch. And if you're building anything non-trivial, that assumption breaks down fast. Your product catalog needs typo-tolerant, fast search — Meilisearch is great at that. Your log pipeline needs aggregations and scale — Elasticsearch is the obvious choice. Your documentation search needs speed and simplicity — Typesense handles that well. But none of these tools let you mix. You end up with three APIs, three SDKs, three dashboards, three billing relationships, and three different ways to manage API keys. ## What Headband actually is Headband is a retrieval control plane. One API, one SDK, one dashboard — but you pick the engine per index. Create a "products" index on Meilisearch. Create an "events" index on Elasticsearch. Create a "docs" index on Typesense. Same API key. Same client code. Same filter syntax. And if you already run your own search clusters, Headband doesn't replace them. BYOE (Bring Your Own Engine) means your documents stay on your infrastructure. We route queries — we don't store your data. ## Why now Two things changed that make this approach viable: First, Meilisearch and Typesense matured. Five years ago, Elasticsearch was the only serious option. Now there are genuinely good alternatives — each with different strengths. The market fragmented, but the tooling didn't keep up. Second, AI agents need retrieval. Every agent framework needs a way to search your data — RAG pipelines, MCP servers, llms.txt, chat with retrieval. Headband ships all of these out of the box, across any engine. Your agent doesn't need to know whether the index it's searching runs on Meilisearch or Elasticsearch. ## What's live today - Per-index engine routing (Meilisearch, Typesense, Elasticsearch) - BYOE — point any index at your own cluster - Unified search API with engine-agnostic filter syntax - React SDK (@headband/react) with InstantSearch-compatible components - MCP server for AI agents - RAG-ready search endpoints - Chat completions grounded in your indexes - llms.txt generation - Scoped API keys (admin + search, per-project) - Search analytics in the dashboard ## What's next We're building in the open. The roadmap includes hybrid search improvements, query suggestions, A/B testing, and deeper analytics. If you're interested, try it free at headband.dev or self-host from GitHub — it's MIT licensed.

Enjoyed this? Get notified when we publish new posts.