Theodore Roosevelt Presidential Library Labs

TRPL Labs  /  Visitor Experience

Visitor Experience

Wildlife Watch

A field guide to the park's bison, wild horses, and twenty other animals, with recent sightings.

Screenshot of Wildlife Watch

Try it right here

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

What it does

A guide to watching wildlife in Theodore Roosevelt National Park: a field guide to 22 animals, a full section on the park's wild horses, a map of where to look, an outing planner with sunrise and dawn windows for any date, and a roll-up of recent public sightings from iNaturalist.

The sightings are handled with care for the animals. No exact locations are published: reports are rolled up to named areas or one-kilometer squares, the newest two days are held back, and obscured records are skipped. Month-by-month charts are adjusted for how many people report anything at all, so summer crowds do not make every animal look like a summer animal.

What it can do

  • Field guide to 22 species with seasons, where to look, and charts of when each is reported
  • Wild horses section: history timeline, how bands work, and a coat-color guide
  • Map of viewing spots, sighting squares, and USGS bison range from GPS collars
  • Outing planner with sunrise, sunset, and a downloadable dawn-drive calendar file
  • Daily iNaturalist refresh with location privacy guardrails built into the build script
  • Printable family checklist and the NPS 25-yard rule
  • Seven embeddable views, each a self-sizing widget

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/WildlifeWatch.git cd WildlifeWatch
  1. Fork the repo and edit data/species.json, data/spots.json, and data/zones.json for your own place and animals.
  2. Replace or remove the horse section in data/horses.json, and swap photos in assets/photos/ with their credits in credits.json.
  3. Point scripts/build-inat.mjs at your own iNaturalist place id. Keep the location roll-up and the two-day delay โ€” they protect the animals.
  4. Copy docs/refresh-data.yml into .github/workflows/ and give workflows read and write permission. No API keys are needed.
  5. Enable Pages from main at the root, edit CNAME, and replace the trlibrary.com fonts with ones you have rights to.

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.