Build a searchable archive of 300,000 military review board decisions

A veterans' lawyer used Claude Code to crawl, download, OCR and tag more than 300,000 DoD discharge and records board decisions into a free, filterable reading room now cited in a federal suit.

Done withClaude Code· Nov 11, 2026

What they did

The poster, a Marine veteran turned lawyer who founded the Institute for Constitutional Military Law, first had Claude turn a long Google Sheet of the poster's legal research into an archive of about 2,500 sources. The poster then set out to index the decisions DoD publishes as unsorted raw files by branch, board and year. Claude crawled the DoD site to build a master list of every board and decision, made a download plan and wrote the download scripts, which the poster ran in about a dozen terminals on a MacBook Pro for several days. Claude Code, mostly on Opus 5.5 and Fable 5.1, then extracted text from every file including scanned images, went over the set dozens of times hunting anomalies, read each decision for key fields, and built the database and its search site.

How it went

More than 300,000 files were downloaded, across four formats and messy folder names. The Reading Room opened on October 2, 2026, with filters for board, discharge type, outcome, topic, separation codes and more. It showed, for example, that Navy board decisions used PTSD in at least 13,085 files where the DoD site search returned 211. The nonprofit then sued the government to force official indexing, using the archive as evidence.

Worth knowing

This took many days of repeated passes, not one run, and the downloads ran on the poster's own machine. The poster does not give a cost or an error rate for the field extraction. All the files were already public; the work was crawling, OCR and structuring them.

Try it

With Claude Code· 4 parts to fill in

I want a searchable database of [public document collection] published at [site URL]. First crawl the site and build a master list of every document with its source path, and report the formats and naming problems you find. Then write download scripts I can run in parallel, extract clean text from each file including OCR for scanned ones, and pull these fields from each: [fields]. Log every file that fails or looks anomalous. Show me a sample of 20 extracted records and stop for my review before building the search site with filters on [filter fields].

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related