Theodore Roosevelt Presidential Library Labs

TRPL Labs  /  Interactive Media

Interactive Media

The Bad Lands Cow Boy

Every surviving issue of Medora's 1880s newspaper, transcribed and indexed day by day.

Screenshot of The Bad Lands Cow Boy

Try it right here

This loads the live project from its own domain, exactly as a visitor would see it.

Transcriptions were made with AI from the page images. Check any quotation against the scan before publishing; every item links to it.

What it does

The Bad Lands Cow Boy was Medora's newspaper from 1884 to 1886, the years Roosevelt ranched here. This site puts every surviving issue online, transcribed and indexed: what the paper reported for any calendar week, a timeline of more than 4,000 dated events, every item that names Roosevelt, full-text search of about half a million words, and a gallery of nearly 200 period ads and cattle brands.

Transcriptions sit beside the zoomable Library of Congress page scan, and clicking an item zooms the scan to it. A people index matches more than 1,800 names across the paper's spellings, with short bios written only from the paper's own items and fact-checked against the full text. Items from missing issues are recovered where other papers reprinted them.

What it can do

  • "This Week in Medora" for any calendar week, embeddable and defaulting to today
  • Timeline of dated events, filterable by month, topic, and person
  • Transcription beside the page scan, with one-click zoom to each item
  • Full-text search across the whole run
  • Ad and brand gallery, each cropped from the scan where it first ran
  • People index with fact-checked bios and highlighted mentions
  • Events published as CSV and JSON

Make it your own

Start by forking the repository into your own organization. Everything below assumes you are working in your fork, not this one.

# clone your fork git clone https://github.com/YOUR-ORG/BadlandsCowboy.git cd BadlandsCowboy
  1. Fork the repo and find your paper's LCCN on Chronicling America.
  2. Run scripts/fetch_batch.py and scripts/prep_blocks.py to pull page OCR and block coordinates.
  3. Transcribe each issue into source/transcriptions/<date>.json following the rules in scripts/TRANSCRIBE_BRIEF.md.
  4. Run python3 scripts/build_site_data.py to compile the site data.
  5. Enable Pages from main at the root and edit CNAME.

Stuck on a step? Open an issue on the repository. Questions from people adapting these for their own institution are the most useful feedback we get.