salon-management is a web application for running a salon: it keeps the salon's staff and services in one place and lets clients book appointments that staff then track. The product serves three kinds of people — the owner or manager who runs the business, the stylists who deliver the services, and the clients who book them. The intent is a single, organized surface where the salon's people, its menu of services, and its appointment schedule stay consistent with each other, so the business runs on one shared record instead of scattered notes and messages.
The application is delivered as a first-party web product with its own identity: visitors arrive anonymously, create an account or sign in, and then work inside protected salon records. Clients book and review their own appointments; salon staff and owners manage services, staff, and the schedule.
salon-management is delivered as three cooperating services:
Actors. The active human actors are the Salon Owner / Manager, the Salon Staff / Stylist, and the Client. All three are first-party users of the application and all three establish their own identity through the application's Sign Up and Login surfaces. There are no external or provider-owned actors in the current product.
Accepted behavior. The product manages salon staff, manages the salon's services, and lets clients book appointments that are then tracked by the salon. Identity is application-owned: an anonymous visitor reaches the Landing page, enrolls through Sign Up or verifies through Login, and then reaches the protected surfaces. Clients establish identity before booking and before viewing their own appointments.
Ownership. The Landing page owns the anonymous first impression. Login and Sign Up own identity establishment. Services owns the salon's service list. Staff owns the salon's staff records. Appointments owns the staff-facing schedule and the creation or updating of client appointments from the salon side. Book Appointment owns the client's side: choosing a service, booking, and viewing their own appointments.
Exclusions. The current product does not include payments, billing, invoicing, inventory or product retail, marketing campaigns, loyalty programs, messaging or notifications, reporting and analytics, or multi-location/franchise management. None of these are accepted requirements.
Removed from scope
salon-management is a first-party, application-owned product. Every page in the product is built and owned by the application itself; nothing in the current scope is delegated to a third-party provider surface or an external destination.
Access is split into two boundaries. The anonymous boundary covers Landing, Login, and Sign Up — these are reachable before any identity exists, and they are where a visitor learns what the product is and where an account is created or verified. The protected boundary covers Services, Staff, Appointments, and Book Appointment — these require a signed-in identity, because each of them reads or writes durable salon records that must stay bound to the correct person.
Identity is application-owned and self-service: a person enrolls through Sign Up on first use and verifies through Login on return. There is no invitation, provisioning, or deployment-bootstrap path in the current scope, and no differentiated permission model is established by the source — the access distinction in this product is signed-in versus not signed-in, not role-based visibility over shared records.
Everything described in this document is current. No future-horizon requirements have been accepted.
FR-1 — Salon management application (explicit) As a Salon Owner / Manager I should have a single application in which the salon's staff, services, and appointments are managed, so that the business runs on one shared record.
FR-2 — Manage salon staff (explicit) As a Salon Owner / Manager I should add, edit, and remove staff members so that the salon's team is recorded accurately.
FR-3 — View salon staff (explicit) As a Salon Staff / Stylist I should see the salon's staff records so that I know who is on the team and in what role.
FR-4 — Manage salon services (explicit) As a Salon Owner / Manager I should add, edit, and remove the salon's services so that the menu of offerings and prices stays current.
FR-5 — View salon services (explicit) As a Salon Staff / Stylist I should see the salon's services with their prices and durations so that I know what the salon offers and how long each service takes.
FR-6 — Book an appointment (explicit) As a Client I should select a service and book an appointment so that I have a confirmed visit at the salon.
FR-7 — View own appointments (explicit) As a Client I should see my own appointments so that I can plan my visits.
FR-8 — Track client appointments (explicit) As a Salon Owner / Manager I should review the schedule and create or update client appointments so that the salon's day is tracked and kept accurate.
FR-9 — Track own schedule (explicit) As a Salon Staff / Stylist I should review the salon's appointment schedule so that I can serve clients on time.
FR-10 — Anonymous entry (required_inference) As an anonymous visitor I should reach the Landing page before any identity is established so that I can understand what the product is and choose to enroll or sign in.
FR-11 — Self-service enrollment (required_inference) As an anonymous visitor I should create an account through Sign Up so that I can begin using the product on first use.
FR-12 — Returning verification (required_inference) As a returning Salon Owner / Manager, Salon Staff / Stylist, or Client I should sign in through Login so that I can reach the protected salon records bound to my account.
FR-13 — Client identity before booking (required_inference) As a Client I should establish my identity before booking and before viewing my own appointments so that my bookings stay bound to me and are not visible to other clients.
The owner runs the salon day to day and is accountable for what the business offers, who delivers it, and whether the day's bookings are correct. Their work is the broadest in the product: they are the person who curates the service menu (name, price, duration), keeps the staff roster accurate (name and role), and owns the staff-facing schedule where client appointments are created, updated, and cancelled. They are the only persona whose accepted responsibilities span all three management surfaces, and the only one who changes the salon's records rather than reading them.
The stylist delivers services to clients and needs a legible working surface rather than an editing one. Their accepted work is reading: seeing what the salon offers (so they know what a client has booked and how long it takes) and seeing the schedule (so they know who is coming, when, and for what). They do not curate the menu or the roster, and they do not create or change appointments in the accepted scope.
The client is the person the salon serves. Their work is narrow and personal: choose a service from the salon's menu, pick a date and time, confirm the booking, and then see their own appointments. Their view is deliberately scoped — they see the salon's services and their own appointments, not other clients' bookings.
The visual direction is editorial swagger for the salon floor — oversized type, ink and acid, one hot accent — after Tobias van Schneider. The headline idea: "Salon, managed." — a fashion-masthead display line where the product's own name carries the confidence of a salon brand rather than an admin shell.
Colour tokens (light mode)
| Role | Hex | Use |
|---|---|---|
| Background | #F4F1EA | Warm off-white paper ground, ~70% of every surface |
| Surface | #FFFFFF | Elevated cards and form fields only |
| Text | #111111 | All type |
| Primary | #111111 | Solid ink button fill |
| Accent | #E5301F | One hero word, active nav underline, appointment "today" marker, destructive actions only — never a general fill |
| Muted | #8C877C | Metadata, timestamps, helper text |
No second accent colour. No gradients. No blue or indigo anywhere.
Typography
-0.03em, sentence case, very large.0.12em letterspacing.clamp(56px, 9vw, 132px); section head clamp(36px, 5vw, 64px); card title 24px; body 16px; label 11px uppercase. Line-height 0.95 on display, 1.5 on body. Modular ratio 1.5 for display, 1.25 for UI.system-ui are forbidden.Shape language. Sharp corners everywhere — 0px radius on cards, inputs, and buttons. Only status chips are fully rounded pills. Hairline 1px rules in #111111 at 15% opacity define sections instead of shadows. Buttons are solid ink rectangles with a 2px bottom offset that compresses on press. No soft shadows, no rounded blobs.
Layout. Asymmetric 12-column editorial grid: 7/5 split on Landing and Book Appointment; 3/9 split on Services, Staff, and Appointments (left rail of section labels, right column of content). Vertical section rhythm 96–128px on desktop, 48–64px on mobile. Full-bleed type blocks break the grid on purpose. Navigation is a single top bar with the wordmark set large in Fraunces at the left, links in Space Grotesk uppercase, and the active page marked by a 3px vermilion underline.
Imagery. Large-scale editorial photography: tight crops of hair, hands, scissors, a mirror, a chair — monochrome or warm-desaturated, bled off the right edge of the hero. One full-bleed photo band between sections on Landing. Service cards use a single square photo each with a hard crop and the service name overlaid in white Fraunces at the bottom-left. No stock smiling-people-in-office imagery, no illustration, no 3D.
Readability rule. Headlines, wordmarks, labels, numbers, card text, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit, with nothing covering them. Imagery and decoration may bleed, crop, rotate, or overlap freely as long as they cover no readable text or control.
The Landing page is the signature surface: a 7/5 asymmetric split on warm off-white paper, not a centred stack.
clamp(56px, 9vw, 132px), line-height 0.95, stacked flush-left with the second word "managed" in the same size but in vermilion #E5301F, overhanging the column gutter by 24px. Beneath it, a single 16px Space Grotesk line stating that the product manages staff, services, and appointments. Pinned left, a solid ink rectangular CTA "Book a chair" with a 2px bottom offset, and beside it a text link "Staff login".clamp(36px, 5vw, 64px) set over it and a thin ink rule beneath — the band introduces the product's three capabilities (staff, services, appointments) as three ruled editorial entries, not a card grid.0.12em tracking; the active page marked by a 3px vermilion underline that slides in on hover.The same oversized display treatment carries onto Book Appointment, where the client's booking headline spans the viewport in the 7/5 split, with service selection on the wide side and the client's own appointment ledger on the narrow side.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
cubic-bezier(0.22,1,0.36,1)), settling into its final flush-left position; the photograph crossfades in alongside it. The outcome is the composed editorial hero, fully legible, with the "Book a chair" CTA and "Staff login" link pinned and stable throughout.durable_state_required). Accounts, services, staff members, and appointments persist in the application database across sessions and restarts.prefers-reduced-motion, all motion settles to its final state instantly and hover swaps become simple opacity changes.
Salon management
For owners, stylists and clients — the place to manage staff, manage services and book and track appointments, all on one shared record.
What it isFor owners, stylists and clients
salon-management keeps the salon’s people, its services and its appointments on one shared record.
Keep the salon’s stylists and team in one place, held alongside the services each of them delivers.
Hold the salon’s menu of services together — each one with its name, price and duration — so the offer stays consistent.
Clients book a chair, and the salon tracks the schedule from the same shared record instead of scattered notes.

Salon management
For owners, stylists and clients — the place to manage staff, manage services and book and track appointments, all on one shared record.
What it isFor owners, stylists and clients
salon-management keeps the salon’s people, its services and its appointments on one shared record.
Keep the salon’s stylists and team in one place, held alongside the services each of them delivers.
Hold the salon’s menu of services together — each one with its name, price and duration — so the offer stays consistent.
Clients book a chair, and the salon tracks the schedule from the same shared record instead of scattered notes.
No comments yet. Be the first!