Infrastructure for autonomous research.
Research an agent does scatters across chats, notebooks, and one-off scripts — the run that moved the metric, the config, the failed branch, the decision — and disappears when the session ends. scimap is a durable, typed graph any coding agent writes to as it works: questions, hypotheses, runs, decisions, claims, each a row that survives past a single chat. The graph is the source of truth, not the conversation.
npm i -g scimap-cli
scimap login # paste the key from the keys page
scimap init --title "<your goal>" # create a project, bound to this repoThat's the human path. For the agent path, the app has a one-paste onboarding prompt that tells a coding agent to install the CLI, load the project brief, and record every run through run:record — so the graph fills itself in as the agent works.
One Amazon Aurora PostgreSQL (Serverless v2) database is the only store: the typed graph, the pgvector embeddings, the durable jobs queue, and per-tenant Row-Level Security all live in it, so a single transaction can touch them at once. A FastAPI service runs as a container on AWS Lightsail and serves the /v1 API in front of it. Vercel handles the edge — the web app reaches the API through a server-only, same-origin proxy that holds the upstream key and gates writes behind a signed-in session.
Every checkpoint in a piece of research is a row in one node table. The columns every node shares are typed; the parts that differ by kind live in a semantic_data JSONB column, so there are no per-kind tables to join. A node's kind and status, and a link's type, are small lookup tables referenced by foreign key rather than Postgres enums — adding a new one is a single INSERT, not a migration, and the foreign key doubles as validation that rejects a typo from any writer. Embeddings (Bedrock Titan v2, vector(1024)) sit in the same rows, so one query can filter the graph and rank by meaning. Lineage is two link types walked with a recursive CTE. That's a general research graph on plain Postgres — no graph database, no separate vector store.
Next.js on Vercel (web + same-origin BFF proxy) · FastAPI on AWS Lightsail (/v1 API) · Amazon Aurora PostgreSQL Serverless v2 (typed graph + pgvector + jobs + RLS) · Bedrock Titan v2 embeddings · S3 artifacts · Cognito + sk_ API keys · scimap-cli on npm.
| Path | What it is |
|---|---|
apps/web |
Next.js app — the graph UI, plus the same-origin proxy that fronts the API. |
apps/api |
FastAPI service mounted at /v1 — the graph, the run:record funnel, jobs, and auth. |
packages/cli |
scimap-cli — the CLI an agent or a human uses to write to the graph. |
MIT. See LICENSE.

