hiveo
A knowledge store for an entire company, built for a large German mid-market firm. People ask from the AI chat they already have open, and every answer names its source.
hiveo is the working title of a one-off system, designed and built for a single client. You cannot buy it. The question behind it concerns every company, though: how does a business organise its knowledge once every employee works with AI?
For that to hold up day to day, you need a search that finds the right page among tens of thousands of documents, permissions that apply before the search, and sources you can check. Why most second brains fail at exactly this is in the essay.
Company knowledge rarely arrives as clean text. It sits in scans, Excel sheets and PDFs with tables that run across two pages. Before anything can be found, every file has to become readable.
- LesenText aus der Datei holenWartet
- ZerlegenIn Abschnitte teilenWartet
- EinbettenFür die Suche vektorisierenWartet
PDF, Word, Excel, PowerPoint, HTML, Markdown, plain text, photos and scans. A Python worker reads digital files locally with docling and sends scans through OCR. Headings that the parser flattens are rebuilt from their numbering. When a document is replaced, its old chunks are deleted, because a chunk that no longer applies still looks like a perfectly good answer.
A question is a single database query. Permissions, vector search, full text and ranking run in one Postgres statement. Every cell below is one chunk of the test corpus.
Corpus size and query as in the test corpus and in search.ts. Folders, permissions and rankings are an example.
Not everything belongs in vectors. Inspection dates, spare parts and meter readings stay rows in Postgres, queried with SQL, under the same permissions as the documents.
A vector index knows what a passage is about. Which inspections fall due before the end of the year is a question for SQL. The answer may combine both: table rows from query_tables and the passage from search, in one reply.
Everyone gets their own access key. The AI works with exactly that person's rights. Whoever may only read cannot create, change or delete anything through the chat either.
Three levels: folder and table rights decide what someone may see and touch, capabilities decide which tools they may use, platform roles decide who administers. Deleting is a tool of its own that only accepts an explicit list of rows, and a free DELETE never gets past the SQL check.
Every call is written to the audit log: who, which tool, when and with what result. Including the rejected ones.
Every change to the search runs against a fixed set of real questions with known answers. Whatever does not improve the numbers goes back out.
A reranker sorts the hits a second time with a model of its own, and many RAG guides recommend one. Here it cost 2.6 points in first place, added an API call to every question and improved nothing. It stays in the code as an option and is switched off. The goal behind it all: the pipeline has to hold up at tens of thousands of documents, and only a measurement shows whether it does.
Built by one person working with AI. 1,144 commits in 70 days, three out of four with Claude as co-author.
A TypeScript monorepo with an API and MCP server (Hono), an admin dashboard (Next.js) and a design system, plus a Python worker for ingestion. One Postgres database with pgvector, full text and 24 tables, nine MCP tools. Every change is written up first, then reviewed and tested automatically before it is merged.