One page, in the order a parent reads it
Josh Graham coaches pitching, catching and hitting at the Junior Ravens Clubhouse, the youth club I volunteer with. He needed a site that a parent could read on a phone and know three things: who he is, what a lesson covers, and how to reach him.
I built it as a single page. The coach's playing background comes first, then his coaching philosophy, then each position with what a session works on and the formats offered. Age groups, the training facility and the contact options follow. There is no menu to hunt through and nothing to click into.
Plain files, on purpose
The site is one HTML file, one stylesheet and a few lines of script. No framework, no page builder, no database. That keeps it simple to host and simple to change: a text edit and a sync, and the change is live.
Nothing leaves the site. The fonts and photos are served from the same place as the page, and there are no analytics or tracking scripts, so visitors are not followed and the page has nothing to wait on before it draws.
The site lives on DreamHost shared hosting. I'm DreamHost's CMO; the hosting is DreamHost's product and billed separately, and the work described here is my own.
Booking is a call or an email
A coach books lessons by text, call and email, so that is what the page asks for. Every section ends at the same two options: call or text the number, or send an email. The phone number dials on a phone and the email opens a draft. There is no form to fill in and no account to make.
The training location links to directions, and the facility section says what a parent will find there: turf, cages, mounds and a heated building.
A tuning pass for phones
In September 2026 I went back through the page with a phone in mind. The photos moved to WebP, and phones now get a hero photo sized for a phone screen instead of the desktop one. The fonts used to load from Google; they now ship with the site, so the first paint no longer waits on another server.
On a phone, the coach's career stats sit in one row so the booking button lands on the first screen. Text that was hard to read on the red and navy backgrounds was fixed, the page got a proper title, description and link preview, and every image declares its size so nothing jumps while the page loads.
Results and scope
The site went live in June 2025 and has needed only small changes since, including a copyright year that now updates itself. In a lab test on September 9, 2026, Lighthouse gave it 100 for performance, accessibility, best practices and SEO on both mobile and desktop. On the simulated phone the first paint came at 0.9 seconds and the largest at 1.7 seconds, with no layout shift and no blocking script time. Before the tuning pass, mobile performance scored 76 and the largest paint took 4.8 seconds.
Lesson bookings and revenue are the coach's business and are not published here. This case shows a small, owned site that does one job well and costs almost nothing to keep.
