Coach is a website template for coaches, trainers and speakers, built on Bootstrap 5, with a yellow cover band and a clean, readable layout. The design is responsive and works in all popular web browsers. It comes with two pages: a one-page home and a blog post.
The home page has a headline with a typewriter effect, a photo slider, an about section with speaking dates and team profiles, training and services sliders, a photo gallery with a lightbox, a testimonial slider, a blog section and a contact form. The blog post page adds comments, a comment form and a sidebar with search and categories. A sticky navigation bar and a working contact form are included.
What’s new in 3.0
Bootstrap 5.3.8 (the earlier release used Bootstrap 4.3.1 and jQuery), compiled from Sass with the original proportions, and plain JavaScript with no jQuery. Swiper 14 replaces Owl Carousel, PhotoSwipe replaces Fancybox, the typewriter headline is a small built-in script, and Lucide SVG icons replace the old icon fonts. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script.
Lighter pages: both pages together went from 5.7 MB and 73 requests to 2.1 MB and 75 requests, and the download from 4.4 MB to 2.5 MB. Every photo has an AVIF version with the JPEG as the fallback, real dimensions and lazy loading below the first screen, and the hero slider has smaller crops for phones.
No third-party requests: Open Sans and Playfair Display are self-hosted, the social logos are a 1.1 KB subset (the Twitter bird is now the X logo), and a Google Analytics 4 snippet stays commented out until you add your own ID. Before, every page loaded its fonts from Google Fonts.
Working forms: the contact, comment and newsletter forms send through php/send-email.php and php/subscribe.php, with visible labels, validation, a spam trap and an in-page message. Before, none of the forms had an action, and several fields had no name.
A blog search that works: the search box and the category links filter the blog section by keyword and show how many posts match.
Accessibility: a skip link and a main landmark on every page, one h1 per page, a real menu button, a mobile menu that keeps keyboard focus inside and closes with Esc, submenus and slider arrows that open from the keyboard, names on icon-only links, descriptive alt text, visible focus rings, reduced-motion support and WCAG AA text contrast, with a deeper blue for links and buttons and darker body and meta greys.
Demo content: new coaching copy with fictional names, dates and contact details, and every photo replaced with Unsplash photos.