← Atlas Chiropractic

Guide · Industry demo · Chiropractic

How Atlas Chiropractic was built

A fictional independent chiropractic clinic in Mount Hawthorn, built as a conversion-first landing page for the patient with a neck that clicks or a back that "goes". The page has one job — book the initial consult — and one differentiator stated everywhere it matters: no lock-in care plans, pay per visit.

The concept

Allied-health demos live or die on trust, so the signature sells honesty rather than urgency. The Spine Map is a full posterior spine drawn vertebra by vertebra in SVG; five complaint chips light the typical region in amber, annotate it in plain clinical language, and swap a care card showing exactly what the first visit involves and costs — $120 standard initial, $150 for the sciatica workup, $85 for kids. The map carries its own disclaimer ("typical patterns, illustrative — yours is assessed in the room") and every card repeats the no-lock-in line, the imaging declaration and the health-fund gap declaration. The chosen complaint pre-fills the booking form.

Palette — eucalypt calm

The quiet clinic, not the cracking-video channel. Every colour is argued from the room: sage walls, one plant, warm light on the region that matters.

#F2F4F0Sage white — the page ground; a clinic room, not a hospital corridor.
#26312BEucalypt ink — body text at 12.1:1 on the ground.
#3E7C63Eucalypt green — the spine strokes, CTAs and links. Marks, never small text.
#D9A441Warm amber — the lit vertebral region and annotation marks only; never text.

Type

Bricolage Grotesque (600) carries the display — humanist warmth over clinical bones, which is the whole brand argument in one face. The vertebra labels (C1 · T6 · L5) are set in it inside the SVG, so the spine speaks the site's own typography. Figtree handles body copy: open, legible, unfussy at 16.5px.

Techniques

The fee schedule (as pinned)

VisitFeeNotes
Initial consult & assessment (45 min)$120Neck, desk and lower-back chips resolve here
Complex initial — sciatica & nerve (60 min)$150Nerve-pattern workup included
Kids & teens initial (under 16)$85Low-force, parent in the room
Standard adjustment visit$65Dry needling within a visit +$25
Extended visit (30 min)$95Multi-region or flare-up
Concession & seniors standard$55
Kids standard$50The page's "visits from $50" floor
ImagingOnly when clinically indicated; referred out, bulk-billed where eligible — a designed price-less line

Two declarations print no number by design: imaging (clinical indication decides it) and health-fund gaps (HICAPS on the spot; the gap depends on the fund). Both appear on the care card and in the fees section — the declaration is the honest deliverable.

Conversion decisions

Local SEO we'd implement for the real business

The demo page itself carries only honest WebPage/CreativeWork schema — fictional structured data in a real index would be dishonest markup. For a real clinic we'd ship:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MedicalClinic",
  "name": "Atlas Chiropractic",
  "description": "Independent chiropractic clinic in Mount Hawthorn, Perth.
                  No lock-in care plans — pay per visit.",
  "url": "https://atlaschiropractic.com.au",
  "telephone": "+61 8 XXXX XXXX",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Mount Hawthorn",
    "addressRegion": "WA",
    "postalCode": "6016",
    "addressCountry": "AU"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": -31.92, "longitude": 115.835 },
  "openingHoursSpecification": [
    { "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "07:30", "closes": "18:30" },
    { "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday", "opens": "08:00", "closes": "12:00" }
  ],
  "medicalSpecialty": "Chiropractic",
  "priceRange": "$50–$150",
  "areaServed": ["Mount Hawthorn","Leederville","North Perth",
                 "Glendalough","Coolbinia"],
  "review": {
    "@type": "Review",
    "reviewRating": { "@type": "Rating", "ratingValue": "5" },
    "author": { "@type": "Person", "name": "— a real patient —" },
    "reviewBody": "— their words, used with permission —"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9", "reviewCount": "— live count —"
  }
}
</script>

Why the top-level type is MedicalClinic: schema.org has no chiropractic organization type. The tempting token — Chiropractic — is a MedicalSpecialty enumeration value, not a business type; using it as the top-level @type is invalid organization markup (a trap this collection has hit before, on a podiatry build). It belongs exactly where it appears above: as the value of the medicalSpecialty property on a MedicalClinic. Review and rating markup would be fed from the clinic's real Google reviews, never authored by hand.

What changes for the real clinic

Iteration log

Pass 1 — Craft. Read the rendered page, not the code

Pass 2 — Depth. Enrich the signature

Pass 3 — Hardening. 375px, keyboard, rapid-fire, reduced motion

State probe: window.__chiro exposes the active chip, its fee, the draw/settle flags and the animation token — QA gates on state, never on seconds.