Skip to content
Dark MatterDark Matter
Quickstarts

Install Chrome Extension

Build and load the DMTR Chrome extension locally, connect to the API, and see Blackmoat intelligence enrichment on PitchBook.

What you will do

You will build the DMTR Chrome extension from source, load it into Chrome as an unpacked extension, and verify that Blackmoat intelligence data appears in the side panel. The extension extracts entity names from PitchBook pages and enriches them with valuation, transaction history, key people, and DMTR transferability data.

Prerequisites

  • Google Chrome (or Chromium-based browser)
  • Node.js 18+ and pnpm
  • The DMTR monorepo cloned locally

Step 1: Start the API

From the monorepo root:

cd packages/api && pnpm dev

The API starts at http://localhost:3100 with Patient Zero positions and Blackmoat intelligence data seeded automatically. Verify it is running:

curl http://localhost:3100/health
# → {"status":"ok"}

Step 2: Build the extension

cd packages/extension && pnpm build

Vite compiles three entry points into packages/extension/dist/:

  • panel.js — React side panel (the main UI)
  • background.js — Manifest V3 service worker
  • content.js — Content script for entity extraction

By default the extension connects to http://localhost:3100. To point at a different API host, set the DMTR_API_URL environment variable before building:

DMTR_API_URL=https://api.staging.dmtr.dev pnpm build

For development with live reload, use pnpm dev instead of pnpm build.

Step 3: Load in Chrome

  1. Open chrome://extensions/
  2. Enable Developer mode (toggle in the top-right)
  3. Click Load unpacked and select packages/extension/dist/
  4. The DMTR icon appears in the toolbar. Pin it for easy access.

After each rebuild, click the reload icon on the extension card at chrome://extensions/.

Step 4: Verify enrichment

Option A: PitchBook (requires access)

  1. Navigate to a PitchBook company profile (e.g. https://pitchbook.com/profiles/company/...)
  2. Click the DMTR toolbar icon to open the side panel
  3. The content script extracts the company name from the page and sends it to the background service worker
  4. The background worker calls /v1/intelligence/enrich/:slug and populates the side panel

What you should see in the Know tab:

  • Entity header — Company name, type (e.g. "startup"), headquarters, and founding year
  • Transferability badge — Green "Transferable" badge if the entity is linked to DMTR positions via the entity crosswalk, or a neutral badge if not in the registry
  • Key Metrics — 2x2 grid showing Valuation, Total Raised, Headcount, and Revenue (when available in Blackmoat snapshots)
  • Transaction History — Recent funding rounds with round name, size, date, and lead investor
  • Key People — Leadership names and titles sourced from Blackmoat employment records
  • Tags — Sector and classification tags (e.g. "defense", "naval", "autonomous-systems")

The Own and Signal tabs show "Coming Soon" placeholders for Layer 2 (Personal Knowledge Graph) and Layer 3 (Collective Intelligence).

Option B: Demo page (no PitchBook needed)

Open the Patient Zero demo page at http://localhost:3100. The Intelligence Discovery section at the top provides an entity search bar. Type a company name (e.g. "Saronic", "Anduril") to see the same enrichment data the extension displays:

  • Entity chips appear as search results
  • Clicking a chip loads the enrichment panel with metrics, transactions, people, and the transferability badge

You can also call the API directly:

curl http://localhost:3100/v1/intelligence/enrich/saronic | jq .

What you learned

You built the extension from source, loaded it as an unpacked extension, and verified that Blackmoat intelligence enrichment works — either via PitchBook or the local demo page. The extension bridges private market intelligence with your existing research workflow.

Next steps

Edit this page on GitHub

Last reviewed: March 23, 2026

Was this page helpful?