← back to the council hall
Works of the council · portfolio piece the second
Bentonville Barbershop
a shopfront worthy of the chair — hours, craft, and character, set in type
live at www.candmbarbershop.net
The Trade, and the Need
A barbershop in Bentonville with loyal chairs and no front door on the internet. The owners needed a page their neighbors could find — hours, the craft, the booking — without a subscription, a site-builder bill, or a single thing they'd have to phone a stranger to change.
The ask, in club terms: build for the town first. The smallest honest surface that makes the phone ring.
Built With
Languages & core
- HTML & CSS — hand-set static pages; no framework, no build step, nothing to break
- Python tooling — a photo-conversion script for the shop's own pictures, and a scripted axe accessibility audit run against the pages
- Booking flow — a dedicated page that puts the chair one click away
Platform & delivery
- Cloudflare Pages — headers and caching configured in the repo (_headers)
- GitHub Pages preview — the owners watched the site grow before it went live
- Owner's guide — a written walkthrough so the shop can serve itself
The End-to-End Pipeline
how Spruce Grove OS carried it from a conversation to a live door
- The owners were heard first. Charles and Marie's perspective set the spec: a page they could read like a menu, change like a chalkboard, and afford like a haircut.
- The agent built the surface. Sessions of the grove set the pages in type, wired the booking flow, and kept the whole thing static — the architecture a barbershop actually needs.
- Accessibility was scripted, not wished for. An axe audit runs against the pages as tooling in the repo — contrast, labels, landmarks — because a shopfront that excludes neighbors fails the trade.
- Pictures were processed, not pasted. A conversion script turned the shop's own photos (iPhone stereo dumps included) into web-ready assets.
- Preview, then door. The owners reviewed on a Pages preview; the custom domain went live with headers configured from the repository.
- It was left better. The owner's guide means the next change is theirs to make — the pipeline taught the shop to fish.
Why It Holds
Stable
- Static pages: no server to patch, no database to lose, no plugins to expire
- Hosting configuration lives in the repo — the site is reproducible from a folder
Secure & applicable
- No forms, no stored data, no attack surface beyond the page itself
- Scripted accessibility checks keep the door open to every neighbor
- The pattern — listen, build static, audit, hand over a guide — fits any shop on any street
Every party's perspective was in the room before the build: the owners' budget and pride, the customers' thumbs and eyes, the town's search habits. Convey them all and the smallest site holds like a well-set chair.