WAYFOUND — SITES, JOURNAL & ROUTES
Wayfound is a field documentation platform that traces America's layered transportation corridors across the West. It maps the overlapping routes of the Oregon Trail, the Beale Wagon Road, and Historic Route 66 — showing how the same geography has channeled human movement for centuries, from Indigenous footpaths to interstate highways.
Each site in the database represents a place where multiple eras of travel overlap.
Everything in Wayfound is powered by three JSON files:
data/sites.json) — Each site becomes a map marker, a directory card, and optionally a comparison site. The all_eras array determines which corridor filters show or hide the site. Setting in_comparison_tool to true makes it available in the Compare section.data/journal.json) — Each entry is linked to a site via site_id. It appears as a card in the Journal section. The photos array supports a multi-image gallery with captions; mode shows a travel mode badge.data/routes.json) — Each segment defines a polyline on the map with era, status, start/end years, and a list of GPS coordinates.This editor works entirely in your browser. You can load data directly from the server, edit it visually, then download the updated file and upload it to your web host.
data/ folder (sites.json, journal.json, or routes.json) and redeploy or push to your repository.
id — Unique ID like WF-AZ-001. Format: WF-{STATE}-{NUMBER}name — Display name of the sitestate — Two-letter state abbreviation (AZ, CA, OR, NV, UT, etc.)lat / lng — GPS coordinates (decimal degrees)primary_era — The main historical era this site representsall_eras — All eras present at this site (used by corridor filters)type — Category: Remnant, Marker, Event, or Research Hubone_line — Short one-sentence descriptionvisited — Whether you've visited the site in personcondition — Current physical condition notesprimary_quote / quote_attribution — A historical quote and its sourcedispatch_url — Link to the Substack dispatch for this sitein_comparison_tool — Whether this site appears in the Compare sectioncomparison_quote — Quote shown in the comparison timeline viewid — Unique ID like J-001site_id — Must match a site's id from sites.jsonsite_name — Display name (should match the site's name)date — Visit date in YYYY-MM-DD formattime — Visit time in HH:MM formatlat / lng — GPS coordinates (usually same as the site)image_url — Primary card image URL (legacy; photos array is preferred)photos — Array of {url, caption} objects for multi-image gallerymode — Travel mode: driving, walking, cycling, research, or flyoverera_context — Era code for which corridor the observation relates toobservation — Your field notes / observationsprimary_source_quote / quote_attribution — Historical quote and sourcedispatch_url — Link to the Substack dispatchdispatch_published — Whether the dispatch has been publishedEach journal entry can have a primary image (image_url) plus an optional multi-photo gallery (photos array). The photos array is shown as a thumbnail strip below the main card image, with a full-screen lightbox when tapped.
public/images/ (e.g., /images/beale-springs.jpg), or use any external URL.journal-hero rule in styles.css and update the background property with your image URL.These codes are used in site and route data. The app groups them into corridor filter buttons for the map.
L0_Indigenous — Pre-contact Indigenous pathsL1_Exploration — Spanish/American exploration Oregon Trail corridorL2_Wagon — Wagon road era Oregon Trail corridorL3_Military — Military road era Beale corridorL4_Railroad — Railroad era Beale corridorL5_EarlyAuto — Early automobile era Route 66 corridorL6_Route66 — Route 66 era Route 66 corridorL7_Postwar — Postwar era Route 66 corridorL8_Interstate — Interstate highway era Route 66 corridorL9_Heritage — Heritage preservation erasite_id in journal entries must exactly match a site's id or cross-links won't workin_comparison_tool to true and add a comparison_quote to make a site appear in the Compare pill buttonsvisited: true show a checkmark in the directoryend_year field can be blank — leave it empty to mean "persists to the present"No sites loaded yet.
Click "Load from Server" to fetch the live data, or "Load from File" to open a local JSON file.No journal entries loaded yet.
Click "Load from Server" to fetch the live data, or "Load from File" to open a local JSON file.No routes loaded yet.
Click "Load from Server" to fetch the live data, or "Load from File" to open a local JSON file.