All projects
Web DevelopmentNext.jsReactNode.jsMongoDBSEOM.E.R.N Stack

Quality Wedding DJ — A Bespoke Music-Planning Platform for Couples & Their DJ

Quality Wedding DJ needed more than a website — they needed a platform. I built a polished public site, a couple-facing music-planning area where brides and grooms can submit Spotify playlists and have the full track listings captured against their wedding date, and a full admin control panel that runs the business end-to-end: client manager, enquiry inbox, playlist viewer, email settings, audit log and visitor analytics.

Quality Wedding DJ — A Bespoke Music-Planning Platform for Couples & Their DJ

The Brief

Quality Wedding DJ needed more than a brochure website. The business runs on personal relationships with couples, careful preparation in the weeks leading up to each wedding, and a music plan tailored to the specific guests in the specific room — and the old site didn't help any of that happen. Enquiries arrived as bare emails, music preferences came over in text messages and shared documents, and there was no single place where a couple could log in, see their information against their wedding date, and shape what their evening would actually sound like.

The brief was to build the platform that the business already needed: a polished public face that does the trust-building, a proper client account area that takes the music-planning conversation out of email threads, and an admin control panel that runs everything — clients, enquiries, playlists, emails — from one place.


For Couples Planning Their Wedding

Music Planning — Spotify Playlist Submission

The headline feature, and the one couples spend the most time inside. After logging in, the couple can paste in up to twenty Spotify playlist links at a time — "songs we want to hear", "absolutely not this", "first dance shortlist", "father-of-the-bride speech walk-on" — and the site pulls in each playlist's name, cover art, and the full track listing automatically. Every track is captured with artist name and duration and saved against the couple's account, so they can come back at any point in the run-up to the wedding, see exactly what they've submitted, and add or remove playlists as their plans firm up.

This works with any public Spotify playlist — couples don't need to sign in with Spotify, share an account, or worry about whether the DJ has access. They just drop in links and the music plan builds itself.

Couple Account & Wedding Profile

Couples register an account with their name, email, phone, wedding date and venue. Every account is verified by email so the contact details on file are real. The wedding date and venue follow the couple through everything they do on the site — when the DJ pulls up their account in the admin, the date and venue are right there next to the playlists, the enquiry history and the contact details.

Passwords can be reset by email at any time, and accounts can be updated whenever plans change — venue confirmed, date moved, new phone number.

Find a Wedding DJ in Your Area

The site has individual landing pages for every area the business covers — Birmingham, Worcestershire, the West Midlands, named towns and counties across the region — each one tailored to that location. The page talks about the wedding scene in that specific area, lists nearby areas the DJ also covers, answers location-specific FAQs ("how far do you travel?", "do you charge extra for Worcestershire venues?", "what time can you set up at venues in the Cotswolds?"), and includes testimonials from couples who married in the area.

Each area page is a genuine landing page for couples searching by location — not a thin SEO doorway. The hero image, intro, FAQ set and testimonial all vary between pages so two neighbouring areas don't look like the same page with a town name swapped in.

Find a Wedding DJ at Your Venue

Alongside the area pages, the site has dedicated landing pages for named venues the DJ has worked at — over twenty so far and growing. If a couple has booked The Glasshouse, Birtsmorton Court, or any of the other venues in the network, they can land on a page that's specifically about that venue: setup access, sound limits, layout considerations, and photos from past weddings at the same place. It's the kind of detail that immediately tells a couple "yes, this DJ knows my venue."

Real Weddings — See Past Events

The Real Weddings section is a curated archive of actual weddings the DJ has performed at. Each entry has the couple's name, the date, the venue, photos from the night, the couple's own 5-star review of the experience, the DJ's reply, and a short story of what made the day special — a surprise saxophonist during the first dance, a country-western themed reception with Ukrainian touches, a drum-and-bass set that filled the floor at 1am. Couples reading these can see straight away what's possible at their own wedding.

Services, Packages, Lighting & Sound

The site has dedicated pages for each part of the offer — DJ services, wedding DJ packages, lighting and extras, sound system, exclusive venues — so couples comparing options can read about each piece in detail rather than getting one undifferentiated "we do everything" page. The lighting page covers what's included, what's optional, and what each upgrade looks like; the sound system page covers room sizes and setup requirements; the packages page lays out what's included at each price point.

FAQ, Testimonials & About

The FAQ page answers the questions couples actually ask in enquiry emails — turn-up time, deposit policy, what happens if the DJ is ill, alternative music styles, late-night extensions. The testimonials page is the social proof — dozens of real reviews from past weddings, all from genuine couples. The About page tells the story of the business and the person behind it.

Contact & Enquiry

The contact form captures the things the DJ needs to give an accurate quote — name, email, phone, venue, date, and the couple's message — not just "email and message". Capturing the wedding date and venue at first contact means the DJ can come back with a real answer on the first reply rather than asking a round of qualifying questions. Submissions trigger an immediate email notification so enquiries never sit unread in a CMS somewhere.


For the Business — Admin Control Panel

Client Manager

Every registered couple appears in the admin panel with their full details — name, email, phone, wedding date, venue, account status — plus a link straight through to any playlists they've submitted and any enquiries they've sent. The DJ can edit any field, mark accounts, or step in to verify an account manually if a couple hasn't received the verification email.

Enquiry Inbox

Every contact-form submission lands in a proper inbox with the full enquiry, the couple's contact details, the venue and date, and the timestamp. Nothing gets lost in a personal email account, and the DJ can search and filter past enquiries.

Playlist Viewer

For every couple, the admin can pull up the playlists they've submitted, see the full track listing for each one, and use that to plan the night in advance. This is the artefact the DJ takes into the venue — a clear view of every song the couple wants, every song they don't, and the playlists they've put together as a hint of the vibe.

Email Settings — No Code, No Redeploy

SMTP credentials, the from-address, the from-name, the list of admin notification recipients, whether customer emails are enabled at all — all editable from the admin settings page. Rotating the SMTP password, adding a new address to receive enquiry notifications, or temporarily disabling customer emails during testing is a settings change, not a code change.

Email Audit Log

Every email the system sends — verification, password reset, contact-form notification, enquiry confirmation — is recorded in an audit log with the recipient, the subject, the time sent, and the outcome. When a couple says "I didn't get the email", the DJ can look it up immediately and see whether it left the system at all.

Visitor Analytics

The admin panel has its own analytics dashboard, built specifically for the site — no Google Analytics required, no cookie banners triggered. The dashboard shows total page views and unique visitors over any chosen period, a daily time-series chart, the most-visited pages, the top referring sites, the top countries visitors are coming from, and a live recent-views feed. Logged-in couples are flagged in the feed so the DJ can see which couples are browsing the site as their wedding approaches.

Data Export

One-click CSV export of clients, enquiries, or playlists for offline reporting, accountant handover, or migrating data into other tools.


How Everything Stays in Sync

The site does the work of three separate tools — a marketing site, a music-planning portal, and a CRM-style admin — but it works because they share one database. When a couple submits a playlist, the DJ sees it next to their enquiry. When a couple updates their wedding date, that date is reflected on every screen the DJ sees. When the DJ replies to an enquiry, the email log captures it. There's no copying between systems, no spreadsheets to keep in sync, no risk of the playlist being for one wedding and the enquiry for another.


Technical Summary

  • Frontend: Next.js 15 with React 19, fully server-rendered so every page loads ready to read
  • Backend: Next.js Route Handlers backed by MongoDB
  • Auth: Email-verified accounts, JWT-based sessions, role-based access for admin features, password reset by email
  • Spotify: Public-playlist link capture — title, cover art, and full track listing pulled from any public playlist URL, no Spotify login required for the couple
  • Email: Nodemailer with settings stored in the database (not in env files), full audit log, HTML and plain-text versions of every message
  • Analytics: Built-in cookieless visitor tracker with admin dashboard — totals, time-series, top pages, top referrers, top countries, recent feed
  • Programmatic location pages: Templated area and venue landing pages with hash-rotated variants so each page is genuinely distinct
  • Hosting: PM2 + Nginx on a UK VPS with Let's Encrypt SSL
Next.js 15React 19MongoDBMongooseJWT AuthNodemailerSpotify oEmbedProgrammatic SEOSchema.org JSON-LDServer-Side RenderingCookieless AnalyticsPM2

Project Links

Categories

Web DevelopmentNext.jsReactNode.jsMongoDBSEOM.E.R.N Stack

Interested in similar work?

Get in touch to discuss your project.

Start a conversation

Let's Work Together

Ready to Build Something Remarkable?

Whether you need a bespoke website, a full digital marketing strategy, or a technical partner who understands business — I'm here.