The brief
Johnny’s needed a site that could carry a real
car wash business: the tunnel wash, four detail bays,
a membership club, and separate hours for the wash
and the detail bays. The owners needed to change specials, hours,
news, and photos themselves, on their own schedule.
What I built
A public site of nine pages, plus a private admin
panel where the owners, John Nekic and Brandon Dynes,
manage the homepage, specials, news, reviews, gallery,
and hours. A change to any of it goes live the moment
it’s saved, with no redeploy.
Nine public pages
Home, services, gallery, news, about, and contact,
plus the article template that gives every news post
its own shareable page, and a privacy policy and
terms written to match what the site actually does.
An owner admin panel
A private panel at a hidden address, open only to an
approved account. It edits the homepage background,
current specials, news posts, reviews, the photo
gallery, and the wash and detail hours.
Backend and hosting
Netlify hosts the public pages and handles the
contact form. Firebase stores the editable content
and signs the owners in. Cloudinary compresses the
photos and video they upload.
How it runs
The homepage plays a looping video of a trip through
the wash on desktop; phones get a fast still photo
instead. Every page was checked from 320 to 1440
pixels wide, plus landscape, with no sideways
scrolling.
Kept secure
The admin panel is hidden from search engines and
never cached. The site sends a strict
content-security policy, forces HTTPS, and the
database rules check every field the owners save.
- Type
- Multi-page site with an owner admin panel
- Public pages
- Nine: home, services, gallery, news, article, about, contact, privacy, terms
- Backend
- Firebase (Firestore, Auth), hosted on Netlify, media on Cloudinary
- Editable by the client
- Homepage background, specials, news, reviews, gallery, hours
- Status
- Live