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.