Science MapPrototype
How it works

From a thesis to a map of where to focus

The analysis engine already exists as a Python pipeline (it produced the RRLM example). This prototype shows the product around it with every stage simulated. The table lists what each stage does now and what it will do once the engine is wired in.

Step 1

Say it roughly

Type a half-formed thought. The chat finishes it into three detailed directions; pick one or edit it.

Step 2

Scope

It proposes up to eight areas with their search queries, as a card you edit in the conversation.

Step 3

Collect

Thousands of candidates from OpenAlex, arXiv and Semantic Scholar, with citations and trend counts.

Step 4

Read

Agents read every selected abstract against a fixed schema: relevance, method, signal, open problem.

Step 5

Analyse

A landscape map, citation links, growth per area, rising phrases and the gap matrix.

Step 6

Decide

Evidence-backed findings and ranked opportunities, each with a first experiment and a kill criterion.

StageIn this prototypeIn the productEngine file
ScopeReal: Claude on Bedrock interviews the researcher and proposes the areas as an editable card in the chat.The same conversation, plus trend queries and verified seed papers per area, in the topic-config format the engine reads.web/src/lib/chat.ts
CollectSimulated from the example's counts.OpenAlex title/abstract search, arXiv relevance and newest-first search, Semantic Scholar batch for citations, arXiv hit counts per quarter for trends. All responses are cached; 3–6k unique candidates.pipeline/scripts/collect.py
Score & selectSimulated.TF-IDF fit to each area and to the thesis, citation velocity, citations and recency as percentiles. A balanced set per area, 30% reserved for the newest nine months, plus a priority pattern for thesis-central papers.pipeline/scripts/select_papers.py
AnnotateSimulated agent progress; the annotations shown are the example's real ones.Six parallel Claude agents read every abstract against a fixed schema: relevance 0–5, problem, learning signal, techniques, benchmarks, cost reporting, trace evaluation, open problem, link to the thesis. A validator rejects malformed output.pipeline/references/annotation-schema.md
AnalysePrecomputed for the example.Landscape map (TF-IDF → SVD → t-SNE), in-corpus citation graph, share of AI submissions per quarter, rising and fading phrases, the problem × signal gap matrix.pipeline/scripts/analyze.py
SynthesiseThe example's hand-checked synthesis.Claude writes the headline, 4–6 findings with evidence ids and 6–10 opportunities scored on a fixed rubric, each with a first experiment and a kill criterion. Every cited id and score is validated.pipeline/references/synthesis-format.md

API contract (already used by the prototype)

POST /api/chat                conversation turn → NDJSON stream
POST /api/atlases             thesis, areas, settings → id
GET  /api/atlases/:id/events  server-sent pipeline events
GET  /api/atlases/:id         record + data.json when ready
GET  /api/atlases             library

Read the numbers with care

  • Trend lines count arXiv abstracts matching keyword queries: they measure vocabulary, not the size of a field.
  • Annotations come from abstracts, so shares like "reports cost" are lower bounds.
  • Opportunity scores are judgements on a stated rubric, not measurements.