Case study

DJ Vital Viper: the price, before the phone call.

DJ Vital Viper is a mobile DJ in Melbourne. I replaced the old WordPress site with five fast pages built around one thing: an instant quote that prices the event and writes the email for you.

Start a projectVisit djviper.melbourne
Started
14 October 2026
First change merged
40 minutes after the repository was created
Pages
5, plus a 404
Built with
HTML, CSS, one small script and Cloudflare

The brief

People booking a DJ for a party, a wedding or a work function want to know two things before they pick up the phone: will Viper come to me, and roughly what will it cost? The site answers both on the home page, then makes getting in touch a single tap.

An instant quote that does the sums

The quote desk sits in the hero, where people look first. Choose the event, how long, where and the equipment, and the price adds up as you go.

  • The suburb is checked against 39 suburbs in the service area, each with a rough distance from Dandenong. That sets the travel fee: $100 up to 25 km, $200 up to 50 km.
  • Suburbs in the west get a straight answer that they aren't covered at the moment. Anywhere else is "by special request", rather than a dead end.
  • Weddings and corporate events start at their own first-hour rate, so the quote is right for the kind of event, not just the length.

It writes the email for you

When you're happy, the site opens your email app with the request already written, under a subject that names the event and the suburb. Long requests are too big for an email link, so the site copies the full request for you to paste and opens a short email instead.

A link you can send to someone else

"Copy a link to this quote" makes a link that opens the quote with the same choices, for a partner or a boss to look at. It carries the event details but never your name, song requests or notes.

Still works without the script

If JavaScript is off or fails to load, the send buttons are replaced by a plain "Email Viper your details" link. Nobody hits a form that silently does nothing.

Moving off WordPress without losing anything

The old WordPress site had 11 addresses that people and search engines knew. Each one now sends a permanent redirect to the closest new page, with and without a trailing slash, so bookmarks and search results still land somewhere useful. A check fails the change if any redirect points at a page that doesn't exist.

One old address, the podcast feed, was deliberately left to retire rather than redirected to something it isn't.

Planning tools for the people booking

Each of the seven event types on the events page links to the quote with that event already chosen. The planning page has a checklist and a run-sheet builder: add the moments of the night, and it sorts them by time, with after-midnight moments last, ready to email, copy or print.

Small, fast and locked down

  • The home page, with all of its styles inside it, is about 12 KB compressed. The one script is under 7 KB compressed.
  • The typeface is split in two by character: the common characters are preloaded, and the rest only download if a page needs one.
  • A strict Content Security Policy allows only the site's own files, and the form can't post anywhere. Browsers are told to always use HTTPS.
  • There's no third-party tracking. Even Cloudflare's own analytics script is blocked on purpose, because it would add a request.
  • On phones, a bar with "Call Viper" and "Get a quote" sticks to the bottom of the screen, and steps aside while the quote desk is in view.

What it shows

For a service business, the website's job is to answer "how much?" and "can you come to me?" faster than a phone call can. If your prices follow rules, even with exceptions, they can be built into the site, so the enquiries you get are from people who already know the numbers.

Keep exploring