Correspondence intelligence

ThreadTrace

v0.1 template Apache-2.0 Runs offline

You have been handed two years of email and texts and asked what went wrong — who promised what, when it slipped, where the relationship broke. By hand it is slow; a generic AI summarizer gives you a recap, not a structure. ThreadTrace is the pipeline you would otherwise have to build: it codes a correspondence across ~31 behavioral dimensions and assembles a structured report.

License
Apache-2.0 pipeline
Runtime
Python 3.10–3.14
Tests
68 passing, offline
Price
$0 / $49 Pro one-time

What it is

A structure, not a summary.

ThreadTrace produces state changes over time. A generic summarizer tells you a story; ThreadTrace gives you a chronology you can audit, query, and act on — built from a behavioral-coding pass over every dated exchange.

01

Timeline of state changes

Each date's tone, dominant topics, escalation and repair counts, and a one-line state note — a chronological record of how the relationship moved.

02

Issue map

Topics aggregated across the whole correspondence by frequency — what the exchange was actually about, ranked, not guessed.

03

Sentiment trajectory

Mean valence over time as a chart — the shape of the escalation, where repair attempts landed, and where they did not.

v0.1 ships three of a planned six report parts. Parts 4–6 — commitment ledger, evidence packet, escalation summary — are a documented v1.5 roadmap, not a missing feature: the enrichment layer already produces the underlying data.

How it works

Four stages, coupled by the filesystem.

Each stage reads and writes JSON on disk rather than importing the others — so any stage runs, re-runs, or gets replaced on its own. Exactly what a fork-and-specialize buyer wants.

ingest → enrich

Normalize, then code

CSV / TXT / PDF exports become a date-keyed corpus; four LLM passes label each day across ~31 behavioral-science dimensions.

extract → report

Derive, then assemble

Metrics, timelines, and repair events are derived from the enrichment, then assembled into the three-part report.

no key required

Offline stub backend

An offline heuristic backend runs the whole pipeline with no API key — the demo and the 68-test suite need zero setup. Point it at a local Ollama endpoint for real analysis.

Who it's for

A pipeline you adapt, not an app you log into.

  • A dev-literate analyst, consultant, or solo developer who needs a real correspondence-analysis pipeline and will specialize it themselves.
  • You are comfortable with Python, a command line, and pointing the tool at an LLM endpoint — and you want to fork it for a domain in an afternoon, not write a behavioral-coding pipeline from scratch.
  • Your work is vendor disputes, sales-pipeline review, internal-team retros — anywhere a two-party message history needs to become a structured object.

Plainly

What it does, and what it doesn't.

What it does

  • Turns a two-party correspondence into a timeline, issue map, and sentiment trajectory
  • Codes each day across ~31 behavioral-science dimensions
  • Runs end-to-end offline via a heuristic stub backend — no API key
  • Ships as a fork-and-specialize template with an extension guide
  • Keeps correspondence data out of version control by default

What it doesn't

  • It is not a turnkey upload-and-get-a-report app — it is a pipeline you run
  • v0.1 ships 3 of 6 report parts; there is no hosted UI yet

Get it

Two ways in.

The pipeline is free, open-source, and complete. Pro sells saved time — never withheld capability.

Free & open-source

The pipeline

$0 · Apache-2.0

The complete four-stage pipeline. Nothing here is a crippled demo.

  • ingest → enrich → extract → report
  • ~31-dimension behavioral coding
  • Offline stub backend — no key needed
  • A committed, rendered sample report
  • The extension guide for forking it
Clone the pipeline on GitHub

Use, modify, fork, redistribute — including commercially.

See the output before you clone.

A committed, rendered sample report ships in the repo — generated by running the pipeline on a fictional corpus. Read it, then decide.