[ Case study ]
Festival weekends tripled site traffic exactly when visitors needed maps, schedules, and road closures; the aging CMS slowed to a crawl under the spike, and the organization had no budget for infrastructure it pays for fifty weeks a year.
CLIENT a regional destination marketing organization — FOCUS Render ahead of the crowd
Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.
The organization promotes a coastal region to visitors, running the official tourism site: maps, event listings, seasonal itineraries, and road information. Staff is small — a marketing lead, an events coordinator, and a rotating cast of volunteers who keep festival listings current. The site's load profile peaks brutally: a handful of festival weekends and weather events draw most of the year's traffic, then usage falls back to a trickle. The budget comes from lodging taxes and membership dues, and the board guards it — infrastructure that sits idle for fifty weeks is a hard sell.
Festival weekends tripled site traffic exactly when visitors needed maps, schedules, and road closures; the aging CMS slowed to a crawl under the spike, and the organization had no budget for infrastructure it pays for fifty weeks a year.
We proposed moving the site to a statically generated Next.js build on Vercel with on-demand revalidation: pages render ahead of the crowd, and publishing a lineup or closure refreshes the affected pages in seconds. Editing moves to a headless CMS with a deliberately simple, one-field-per-thing surface — the constraint was that volunteers' workflow can't get harder, so it had to get easier. Third-party maps and widgets, which can't be renegotiated, load lazily inside performance-budgeted sections so a slow embed degrades itself instead of the page around it.
Just as important is what we ruled out, and why:
The site moved to a statically generated Next.js build on Vercel with on-demand revalidation, so festival traffic is served from cache the moment content publishes.
A headless CMS with a one-field-per-thing editing surface replaced the old dashboard maze; publishing revalidates the affected pages automatically.
Third-party embeds load lazily inside performance-budgeted sections, so a slow map can no longer hold a schedule page hostage.
Delivered by the systems pod — engineer over 7 weeks, with working increments reviewed with the client every week.
Obstacle
Training for volunteer publishers used demo content, and the first real lineup entry used a layout combination the training never showed — the page published with the schedule grid half-collapsed.
Handled: We rebuilt training around actual festival content from the previous year, added editor-side previews showing the live layout before publish, and had volunteers publish the real lineup under supervision.
Obstacle
The county's road-closure map embed loads its data from a source we couldn't change and blocked page rendering whenever its servers lagged on busy weekends.
Handled: The embed moved into a lazy, performance-budgeted section with a static fallback map, so a lagging county server degrades the map instead of the schedule page.
The headline: two festival weekends served at peak with response times flat against baseline — Outage lottery → cached festival weekends, read from Festival-weekend monitoring. A second check: hosting cost vs the previous managed cms stack at −64%.
The site stopped being something the staff apologized for. Volunteers publish lineup changes themselves in minutes and watch the page refresh, which turned festival week from a triage shift into ordinary work. The marketing lead stopped carrying a private list of what was broken. Weather announcements — the highest-stakes publishing the organization does — now go out with the same confidence as a menu update, and the board has stopped discussing the website as a recurring line-item risk.
The result was read from Festival-weekend monitoring against the pre-engagement baseline over the stated window, with a guardrail check on hosting cost vs the previous managed cms stack. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.
What we would do differently
We would train the volunteer publishers with their real festival content, not demo content — the first real lineup entry used a layout the training never showed, and real-content training would have caught it.
[ Related service ]
[ Related builds ]
Bot buyouts protected on-salesSubsequent on-sale days completed with bots challenged at the edge and origin load flat
Two years adrift maintained baselineSite current on a monthly cadence with verified restorable backups before recital season
[ Next step ]
Next case study