← All projects

D&D Barber & Academy

Client
D&D Barber & Academy
Industry
Vocational training & bookings
Year
2026

A London barber shop and training academy in one site: course enrolment with flexible payment, haircut services and prices, a suitability quiz, and the admin behind both sides of the business.

D&D Barber Academy admin dashboard

12

Weeks from no experience to job-ready

2

Businesses served by one codebase

13

Tables behind courses and enrolment

What it covers

  • Course catalogue & enrolment
  • Flexible payment plans
  • Suitability quiz
  • Haircut services & prices
  • Free haircut campaign
  • Enquiries & contact
  • Admin dashboard

Two businesses, two audiences

A barber shop sells a haircut this week. An academy sells a career change over twelve weeks. They need different pages, different calls to action and different funnels, but they share a brand, a location and an admin.

Enrolment is a decision, not a purchase

Nobody spends hundreds on a course from a price list alone, so the enrolment path carries the things people actually weigh: how long until they are job-ready, when they touch a real client, what the deposit is, and whether the payment plan involves a credit check. A quiz exists for people who are not sure yet.

The shop side stays simple

Services and prices, and a way to get in touch. The shop does not need a booking engine to sell a haircut; it needs to be found and to be clear.

How it was built

Svelte
TypeScript
MySQL
Drizzle
Framework

SvelteKit

Server load functions, form actions and endpoints; SSR by default.

Svelte 5

Runes for reactivity ($state, $derived, $effect).

Language

TypeScript

Strict mode across app and server code.

Data

MySQL

Primary datastore.

Drizzle Kit

Committed SQL migrations rather than push-to-prod diffing.

Drizzle ORM

Typed schema and queries, with migrations generated from the schema.

Auth

Better Auth

Session-based auth with server-side verification.

Forms

Superforms

Progressive-enhancement forms with server-side validation.

Zod

One schema validating both client and server.

UI

TanStack Table

Sorting, filtering and pagination for admin tables.

Bits UI

Headless primitives behind the component library.

Dark mode

System-aware theme switching.

Lucide

Icon set.

Embla

Carousels.

Tailwind CSS

Utility-first styling with a project design token layer.

Reporting

jsPDF

Server-side PDF generation for reports and receipts.

jsPDF AutoTable

Tabular report export.

Payments

Stripe

Card payments.

Infrastructure

Nodemailer

Transactional email over SMTP.

Inside the system

D&D Barber Academy admin dashboard
The admin covers both sides of the business: enrolments and inquiries from the academy, services and opening hours from the shop.
D&D Barber Academy courses landing page
The academy leads on outcome and cost, the two things a career changer actually weighs.
D&D Barber haircuts and prices
The shop side stays deliberately simple: services, prices, and how to reach them.
Back to all projects