Built 2025–2026
Litigation document archive
From chaos to a searchable, structured system
Outcome
Turned a sprawling multi-decade document archive for a complex legal matter into a usable, searchable, structured system — and kept finding that the archive’s own records of itself were wrong.
Before and after
A phrase search used to find a single document and miss every email discussing it. It now reaches 128,989 messages and their attachments in one pass. The question went from “which folder might this be in” to “show me everything that mentions this.”
How it was built
This was a chain of distinct problems, each a separate project with its own method.
Corpus: forty years of scans, made rubric-searchable and production-ready
Took a sprawling file store and made it one coherent, de-duplicated, searchable body, prepared to feed the same production process as the email: 690,932 paths collapsed to 221,172 distinct files, consolidated into a single index now at 410,211 documents with 300,836 carrying searchable text (73%, or 81% excluding machine files). Seven OCR passes, the largest 55,570 files in a single overnight run. The text-based documents were taken first — de-duplicated, OCR’d, and organized so the corpus can be searched by topic against counsel-approved rubrics and staged into productions the same way the email was.
The remaining ~20% is a second tier still to be made useful: media, compressed archives, encrypted files, and broken files — recordings, video, photos, databases that need their own extraction before they can join the searchable body. That tier isn’t only a harder technical problem; evidential media often needs human context only a particular person can supply, and getting it is a people constraint as much as a processing one — part of knowing which work can be automated and which has to wait on a human.
The OCR already bought more than tidiness — a body of phone screenshots of message threads, excluded by an earlier assumption, turned out to hold substantive correspondence.
Demonstrates: turning volume into order by priority, building rubric-driven topic search over hundreds of thousands of documents, and not trusting an earlier assumption about what’s worth reading.
Email pipeline: raw mailboxes to a linked, searchable production
Pulled years of email from raw mailbox files into a clean production with every attachment linked to its message. Surveyed 55 mailbox files, 38 readable — more than the six that fed the productions, so the collection was wider than any single view of it. Recovered ~20,000 sender identities from internal directory codes that would otherwise read as gibberish; recovered 5,509 message bodies the extraction had silently left empty (the body sat in an RTF part the extractor wasn’t reading); caught and fixed a defect silently dropping folders.
Demonstrates: working messy real-world data at scale, and catching silent data-loss a faster pass would have shipped.
Building the production: court-ready format, counsel-ready content
Where both streams converge: the cleaned documents from the corpus and the email pipeline are processed into Affidavit of Documents format — tabbed, indexed, and staged as productions ready for counsel to read. The core deliverable, and the point of all the preparation. Eight productions are staged and ready for review — over 23,000 tabbed entries across them, formatted court-ready, date correction applied across every email production — with nothing served until counsel has vetted the content.
Two different standards, both met, and they are not the same thing. The format is court-ready: the Affidavit structured correctly, indexes in proper form, productions that stand up as served and presentable to the other side. The content is counsel-ready: vetted to where the lawyer can trust and act on it, not merely receive it. Alongside this, scoping methodology for Request to Admit and real production — moving the engagement from research and cleanup into generating the instruments the matter runs on.
The content reaches counsel-ready because the record gets checked against itself and found wrong, repeatedly: a clock error in the sequencing; a duplicate analysis that reduced a supposed 190 instances to 7 real ones; a verification that caught a rebuild about to silently drop withheld-document lines from a production.
The signature of the whole engagement: a count is not a verification. Every catch came from checking a number against something independent rather than confirming it against itself — exactly the difference between a production that looks right and one a lawyer can stand behind.
Call me when
You have a large, messy pile of information — documents, records, an archive — that’s technically searchable but practically useless, or whose own index you’ve stopped trusting, and you need it turned into something you can rely on.
Contact
If this sounds like a problem you have, the best place to start is a short conversation about what’s actually stuck.
Email me