The platform

We don't start from scratch.
We start from Beacon.

Beacon is our modular, tool-based platform — orchestration, grounding, evaluation and delivery, already engineered. We compose the parts and fit them to a client's workflow, so a bespoke analyst stands up in weeks, not years. It's the scaffolding; the domain expertise is the only custom layer.

Loading platform…
</>modular tools mcp_server/tools/ 01 / 12

The brief · Basis Global

So take Basis Global — where an answer
exists only once a senior analyst builds it.

Basis Global runs continuous brand trackers for clients like Habitat and Sainsbury's. Turning that survey data into a decision a CMO will act on takes a scarce senior analyst — and a deck where every number survives scrutiny.

The client
Basis Global
A brand-analytics firm running always-on trackers for Habitat, Sainsbury's and others.
The ask
A CMO-ready answer
Not a dashboard — a defensible recommendation, in a client-branded deck, that holds up in the room.
The constraint
Senior judgment doesn't scale
The rigor lives in a handful of experts whose time is the bottleneck on every engagement.
So Basis asked AnswerRocket a delivery question: can that analyst's judgment be built into a system?
02 / 12

So we became the analyst

So we learned how Basis's analysts work —
and encoded their judgment.

The data and the tools are commodity; the judgment is the moat. We embedded with Basis's experts and turned three things they carry in their heads into code the agent runs on every question.

Loading encoded expertise…
</>the bar web/server/studio/scorecard_rubric.json 03 / 12

Before it can answer · data discovery

But first it has to know the data
so it maps the data itself.

There's no pre-built ETL and no warehouse modeling per client. The agent profiles every column in SQL, reconciles the spec's question codes to the real columns, derives the breakouts, and writes its own catalog — so research runs in natural language against whatever you uploaded.

Loading discovery…
</>data prep pipeline/data_prep/runner.py 04 / 12

The analyst, running

Then one question runs the full analyst loop.

Orient, plan, investigate, assess — the agent routes across Claude models (Sonnet to plan, Haiku for fast calls, Opus to synthesize) and pulls survey data through MCP tools, exactly as the analyst would. A live trace of the real pipeline, not a mock.

Loading live trace…
</>orchestrator pipeline/chat/analyst_loop.py 05 / 12

The research loop

And it keeps going
until nothing's missing.

The loop doesn't stop at the first answer. It judges its own coverage twice — a deterministic gate, then a senior-analyst reflection that lists gaps by severity. Closeable gaps reopen the loop and target the unused metrics; uncloseable ones become honest caveats. All of it bounded by hard caps.

Loading research loop…
</>coverage + reflection pipeline/chat/research_reflector.py 06 / 12

One question, an investigation

Because one question is an investigation, not a lookup.

From one question the agent opens several investigation angles, expands each into hypotheses, and grounds every one in weighted SQL on DuckDB — significance-tested, then synthesized into a cited answer. Hover any node to see the exact query behind it.

Loading the investigation graph…
</>investigation graph pipeline/chat/angle_planner.py 07 / 12

True by construction

So every number is true by construction.

Every figure carries a quiet evidence marker — open it for the proof: the measured value, its base and honest significance, the exact survey question, and the SQL behind it. Nothing floats free of its claim, and an untied number never reaches the deck.

Loading provenance chain…
</>grounding contract docs/CLAIMS_AND_MEASUREMENT.md 08 / 12

The story, not the dump

Then verified findings become an argument.

An analyst doesn't hand you charts — they build a case. The agent writes the thesis first, sequences the evidence to land it, and demotes what's tangential to the appendix — every section tied back to a research package that proves it.

Loading storyboard…
</>storyboard pipeline/studio/storyboard.py 09 / 12

Inside the storyboard

And it builds that case in the open
every headline earned, or flagged.

From your business question it derives the story spine, verdicts what the data already supports, then asks before it researches the gaps. The result is a living storyboard of flowing headlines — each carrying how well it's backed: done, a research gap to close, or a judgment call left for you.

Loading storyboard…
</>story flow mcp_server/tools/storyboard.py 10 / 12

Shipped, not demoed

Which ships as a branded deck —
deterministically, in production today.

The storyboard compiles to a client-branded PPTX with no LLM at render time, gated by the Basis Scorecard before it ships. This isn't a prototype: it's deployed, evaluated, and regression-tested.

Loading delivery proof…
</>deck engine pipeline/studio/agent_deck_build.py 11 / 12

The pattern

Data we connect. Domain we earn.
Output you can trust.

Basis is the worked example, not the limit. The engine is Beacon; only the domain layer — the expertise we embed to learn and encode — changes per client. Built to Anthropic's agent-design standards, on the most capable Claude models.

Loading architecture…
</>model routing pipeline/llm/client.py 12 / 12