Case study
Par-5: a programmatic directory of every golf course in America.
Twelve thousand courses, mapped by state and town from open data, on a static architecture with no database behind the pages a visitor ever sees.
The situation
Par-5 is a product rather than a client brochure, and it started from a blank file. The premise is a directory of every golf course in the United States, organised so a golfer can answer one question quickly: what is worth playing near me.
The hard part is not the design. It is that a directory of this size fails in two predictable ways. Either the data is invented to fill pages, which poisons the whole corpus, or the site is built on a database that has to answer every request, which makes twelve thousand pages slow and fragile. Par-5 was built to avoid both.
What got built
A three-tier page hierarchy — state, then town, then course — covering all fifty states and the District of Columbia, currently mapping 12,464 courses. Every course page states only what the source data supports: name, location, hole count where present, and the course website where one exists.
That restraint is a deliberate rule rather than an oversight. No invented history, no invented designers, no invented ratings or hole descriptions. A thin honest page beats a rich fabricated one, and at this scale fabrication would be the fastest way to make the entire directory worthless.
Around the directory sit the things that make it usable:
- A near-me route and a national map for browsing by location
- Rankings by longest, hardest, oldest, shortest, easiest, and private
- A driving-range index alongside the course set
- Four calculators: handicap index, course handicap, score differential, and Stableford points
The state maps are drawn from real projected geometry rather than rough outlines, which is why a course on Nantucket lands on Nantucket. Alaska and Hawaii get their own inset frames with their own projections, and the small eastern states are pulled out to a callout rail so they stay clickable at any size.
How it is built
Static HTML only. No framework, no server-side rendering, no client-side routing. A dependency-free Node build reads the data and writes the finished pages, which deploy to Netlify as flat files. Nothing is computed while a visitor waits.
Course data comes from OpenStreetMap contributors and OpenGolfAPI under the Open Database License, with scorecard data via GolfCourseAPI. Google Places data is excluded by policy — its terms do not permit this use, and building a corpus on data you are not allowed to keep is not a foundation. An iOS shell is wired through Capacitor so the same product ships to the App Store as a native app.
Where it stands
The directory is live at par-5.com with state, town, and course pages published nationally, the rankings and calculators in place, and the map picker running on the real-geometry engine.
The iOS app is approved and live on the App Store, carrying the same corpus to the phone.
Twenty free minutes. Bring your worst website.
Or no website at all. A free 20-minute consult, a straight answer, and zero pressure either way.