A redesign in progress that I’m building for Historic Harmony, Inc., the nonprofit historical society in Harmony, PA that owns and preserves nine properties dating to the early 1800s. When it’s finished it will replace their live site at harmonymuseum.org; until then the footer on the preview carries placeholder notes saying exactly that.
Preview: bradsbots.github.io/harmonymuseum · source: github.com/bradsbots/harmonymuseum
What’s in it
A full site, not a landing page: tour booking, a 28-stop self-guided
walking-tour map, venue rental for three historic buildings, and a
shop with a working cart (Square integration planned). The tour stops
were extracted from the museum’s brochure, cross-checked against
OpenStreetMap, and geocoded — 10 exact, 18 placed along real street
geometry at the brochure’s block positions and flagged approximate
until the museum supplies addresses. The map is Leaflet over OSM tiles.
The stack is deliberately zero-build static: plain HTML, CSS, and vanilla JS. A volunteer-run historical society doesn’t need a build pipeline; it needs pages that keep working.
The constraint that shaped it
Every photo on the site comes from the museum’s own asset library, which is 2019-era and tops out at 1024px wide. That ruled out full-bleed hero treatments and drove the crop and layout decisions across the whole design — images live at card sizes where 1024px-class sources hold up, with responsive variants generated down from what exists rather than up from what doesn’t.