About the project

Inspiration

Most AI data tools force people into one of two interfaces: a chat window that hides the underlying evidence, or a dashboard that an agent can only understand by scraping text, pixels, and DOM elements.

Real investigations work differently. A human notices an unusual cluster, questions an assumption, or recognizes missing context. An agent can search hundreds of records, compare cohorts, inspect documents, and track several explanations simultaneously.

We built Investigation Canvas around one idea: the human and the agent should work on the same visible investigation—not exchange disconnected summaries.

What it does

Investigation Canvas is a visual reasoning workspace for exploring datasets, evidence, relationships, hypotheses, findings, and possible causes.

Humans can:

  • Filter, search, and visually select records
  • Explore linked scatter plots, timelines, tables, and relationship graphs
  • Inspect evidence and its trust level
  • Challenge the agent with contradictory examples
  • Arrange findings and evidence on a spatial canvas
  • Review every action through an auditable provenance trail

Through WebMCP, an external agent receives 48 structured tools operating on the same workspace. It can query records, compare cohorts, rank distinguishing features, find correlations and outliers, inspect evidence, navigate relationships, create competing hypotheses, search for counterevidence, record findings, build causal links, save views, and branch an investigation.

Every agent action changes the visible workspace. The human can inspect, rearrange, question, or reject the result.

The project includes three complete example investigations:

  • A checkout conversion regression with two independent causes
  • An ML model-quality regression involving preprocessing and optimizer behavior
  • A suspicious transaction network with explicit evidence-trust boundaries

Why WebMCP

A scatter plot may be immediately meaningful to a person but opaque to an agent. Investigation Canvas already knows which records each point represents, which cohort is selected, how evidence relates to a hypothesis, and which actions changed the investigation.

WebMCP exposes those semantics directly instead of making the agent reverse-engineer the rendered interface.

This creates shared attention. A human can select an unexpected group of records and ask the agent to investigate exactly that selection. The agent can focus a source, create a hypothesis, or place a finding on the canvas, and the human immediately sees the result.

WebMCP turns agent reasoning into inspectable product actions.

How we built it

Investigation Canvas is a dependency-light static web application built with JavaScript, HTML, and CSS.

A deterministic state store drives both the visual interface and the WebMCP tool implementations. Human interactions and agent actions therefore operate on the same investigation state rather than separate copies.

The page registers its tools using document.modelContext.registerTool(...). Read-only tools are marked accordingly, while tools returning third-party evidence identify that output as untrusted. Mutating tools use the same state operations as the visible interface, making their effects observable across selections, filters, evidence, hypotheses, findings, canvas artifacts, branches, and provenance.

We also implemented:

  • CSV, JSON, JSONL, and NDJSON imports
  • Public JSON API snapshots
  • Schema inference
  • Investigation export and restoration
  • Browser-local persistence
  • Undo and redo
  • Saved analysis views
  • Restorable investigation branches
  • Web-worker processing for larger local datasets
  • Three deterministic example datasets

The Do example experience lets a judge choose an investigation, understand its mission, load an isolated workspace, and copy a prompt for an external WebMCP agent. It never fakes an agent conversation or silently runs a scripted simulation.

Challenges we faced

The hardest challenge was making agent activity understandable.

Our early demo concepts moved too quickly, displayed too much information, and blurred the distinction between a real external agent and a scripted presentation. We replaced that approach with a clear handoff: choose a dataset, understand the mission, copy a prompt, connect through WebMCP, and watch durable actions appear in the shared workspace.

We also had to preserve spatial context. Selecting a record or focusing evidence should not unexpectedly reset the canvas or camera. Data-state changes and view-state changes were separated so human exploration remains stable while the agent works.

Finally, evidence is not automatically truth. The suspicious-transaction scenario contains both verified internal material and untrusted external claims. Investigation Canvas makes this distinction explicit instead of allowing an agent to treat every document as authoritative.

What we learned

We learned that WebMCP is most powerful when a website already possesses rich domain semantics. Structured tools make agents more reliable, but the larger benefit is collaboration: agent actions become visible and reviewable instead of disappearing inside a chat response.

We also learned that a serious investigation tool must make disagreement easy. Competing hypotheses, contradictory evidence, falsification questions, human-selected counterexamples, and provenance are not optional additions. They are what keep fast agent analysis accountable.

What’s next

Next, we would add authenticated streaming data connectors, server-side processing for very large datasets, real-time multi-user investigations, and exportable investigation reports.

The central interaction would remain unchanged: humans direct attention and exercise judgment, while agents perform structured analysis through visible, auditable tools.

The saved version is also available in SUBMISSION.md.

Built With

  • chatgpt
  • codex
  • webmcp
Share this project:

Updates

Submission history