Before (the problem)
Research feeds everything the firm publishes — briefs, blog posts, decisions — but the
sources behind a stat usually evaporate the moment the tab closes. Weeks later, “where
did that number come from?” has no answer, and a claim in a published piece can’t be
defended. There was no record of what was read, why, or where it ended up.
What we built
An internal provenance ledger for research:
- Every external source logged with its URL, date pulled, the reason, the claim it
supports, where it’s cited, and a verbatim quote
- A trend view showing where the firm’s research attention concentrates over time
- Seeded with historical blog citations so the record reaches backwards, not just forward
- Surfaced behind a dashboard nav link, with backfill scripts for bulk entry
How it works
- A research pull is logged to the ledger (
POST /api/research-sources) with its claim,
citation, and quote.
- The ledger stores it in a structured table, tagged by topic.
- The dashboard reads it back (
GET /api/research-sources + /trends) and charts
where attention is going.
- Any stat in a brief or blog is now replayable to its original source.
Outcomes
- Every published statistic is traceable to its source — date, claim, and verbatim quote
- Turns scattered reading into a signal of where the firm’s research is concentrating
- Historical citations backfilled so the record is complete, not just going forward
Stack & role
Node.js · Express · SQLite · Chart.js. Built & operated in-house.
Timeline
Built in-house; live, with backfill of historical citations complete.
What it proves
Provenance is a discipline, not an afterthought. The same configuration-management
rigor the firm applies to AI agents, applied to its own research: every claim carries
its evidence, and attention itself becomes measurable.