Now in beta

The data room
that shows its
work.

Upload your deal room documents. Ask anything. Every answer is retrieved from your workspace, cited, and scored for how well it's actually grounded.

// Every response, scored.
{ method: "hybrid_vector_keyword",
grounded_score: 100 }
nexus — Deal Room
Q3 Report AnalysisRAG

According to the report, what's the AI maturity score?

100% grounded
q3-report.pdf
Ask about your documents...
K
3 documents indexed
Ready to query
The problem

Most AI answers ask you to just trust them.

A chatbot that summarizes a data room is easy. One where you can trust the summary enough to act on it is the actual problem — and that means showing exactly which document backed which sentence, not a generic disclaimer at the bottom of the reply.

Search finds files, not answers
Keyword search tells you which document mentions a term. It can't tell you what the term means in context.
Generic chat can't cite itself
A model that just "knows things" can't point back to the paragraph it got an answer from — or admit it didn't find one.
Tools live in five different tabs
Reading a finding and acting on it — filing a task, flagging a risk — usually means switching apps entirely.
How it works

From raw documents
to grounded answers.

Four steps, every one of them visible — not a black box between your question and its answer.

Under the hood

Hybrid retrieval, not just vector search.

pgvector cosine search and Postgres full-text search run together, merged and reranked — with a fuzzy fallback for typo-heavy queries neither one catches alone.

Documents
PDF, DOCX, text
Chunking
Recursive splitting
Embeddings
768-dim vectors
Hybrid search
Vector + keyword
Rerank
Diversity-selected
Verify
Grounding scored
rag_service.py
SELECT id, content, embedding <-> $2::vector AS distance
FROM "DocumentChunk"
WHERE "workspaceId" = $1
-- isolation enforced in the query, not after it
Capabilities

Built to be checked, not just trusted.

Grounded, cited answers

Responses stream token-by-token, then get scored sentence-by-sentence against retrieved chunks — a real grounding percentage, not a canned disclaimer.

Isolated workspaces

Every retrieval query is scoped with a workspaceId clause inside the SQL itself. Another workspace's documents can't enter the result set — not filtered out, never fetched.

Real agent tools

The assistant can create tasks, search documents, run sandboxed calculations, and summarize a workspace — each call logged with its arguments and result.

Built-in RAG evaluation

A benchmark suite computes Precision@K and Mean Reciprocal Rank against your live retrieval — not a synthetic demo dataset.

Architecture

Frontend and backend, deployed independently.

A Next.js UI with zero database access, talking to a Python backend that owns every retrieval, every tool call, and every metric.

Next.js UIFrontend only
Session cookiehttpOnly, same-origin
FastAPI backendAuth · RAG · agent
Postgres + pgvectorHybrid retrieval
Cerebras + GoogleLLM & embeddings
Prometheus + OTelMetrics, logs, traces
Trust

Isolation you can
point to in the query.

Deal room data doesn't mix — not because of a filter applied afterward, but because the isolation boundary lives in the retrieval query itself.

Workspace-scoped by design

Isolation is enforced inside the SQL query itself — a WHERE workspaceId clause on every retrieval, not a filter applied after the fact.

Session-based auth

JWT-backed sessions stored in an httpOnly cookie — never exposed to client-side JavaScript.

Tool execution audit trail

Every AI tool call — task creation, document search, code execution — is logged with its arguments and result.

Grounding verification

Responses are scored against retrieved source chunks, so you can see how much of an answer is actually backed by your documents.

Request-level observability

Every request carries a correlation ID through metrics, logs, and traces, so a slow or failed answer can be traced end to end.

Independently deployable

Frontend and backend ship separately — a backend fix or scale-up never requires redeploying the UI.

Stop trusting.
Start verifying.

Set up a workspace, upload a document, and ask it a question — the grounding score is right there under the answer.