← All work

SAMMs

A clinical framework’s website, paid masterclasses and referral intake, built so the SAMMs team runs it themselves.

Role
Design + build
Tech
Framer · Next.js · Stripe · ClickMeeting · Resend · Supabase
Year
2025
Live
samms.com.au
samms.com.au
The brief

Three people land on samms.com.au, each looking for something different.

SAMMs is a trauma-informed clinical framework built around “Stability Before Capacity.” A participant with complex needs has to feel safe from the first screen. A clinician wants a guide for their next session, or training they can pay for. A partner organisation has someone to refer and wants to send the details without printing a PDF.

Behind all three sits the SAMMs team, who would run the site long after I finished. I designed each piece around two questions: what does this visitor need next, and can the team keep it running without me?

The usual clinical site vs SAMMs
The usual clinical site
  • A brochure that explains the service and stops there
  • Webinars on a third-party platform, off-brand and hard to search
  • Referrals on a PDF you print and scan
  • A generic checkout and the processor’s receipt
What SAMMs runs on
  • A searchable library of webinars and guides
  • Paid masterclasses the team publishes from the CMS
  • A secure referral form with file upload that feeds their system
  • SAMMs branding from the first click to the confirmation email
Follow the visitors

Each visitor takes a different path through the same site.

The team edits the site in Framer, so Framer stays the front end. Payments and referral files run in a small backend I built behind it.

A clinician looking for a guide types three letters and finds it.

The SAMMs Library holds the webinars and guides. Suggestions appear as you type, each labelled Webinar or Resource, so the clinician knows what they’re opening before they click. They read the summary and download the file.

You can misspell a word and still find the file. A script I wrote reads every page on the site several times a day and rebuilds the index, so a resource the team adds in the morning is searchable the same day.

samms.com.au/resources

A clinician who wants training finds the next masterclass and books a seat.

The webinar hub lists on-demand sessions you can filter, with the next live masterclass at the top. The hub isn’t live on samms.com.au yet, so below is a working recreation in the SAMMs style. Filter the library, then hit Register and follow the paid flow through to the emails.

Featured slot state
samms.com.au/webinars · working recreation
Click to interact

They pay and get their confirmation without leaving the SAMMs brand.

Register opens a Stripe Checkout session I create on the server, prefilled and styled for SAMMs. ClickMeeting sends no confirmation when you register someone through its API, so I built that step myself. Once Stripe confirms the payment, my webhook registers the attendee and emails them a join link and calendar buttons in SAMMs branding.

← BackSAMMs Professional Services
$149.00 AUD
Demo checkout · nothing is charged
🔒 Powered by Stripe

The newsletter welcome and the contact reply use the same templates. You can open all three below, as they land in an inbox.

Three emails, one system. Switch between them
You're registered: Working at the Edges: Clinical Skills for High-Risk, Complex Cases
From SAMMs Professional Services <noreply@samms.com.au>
To jane@clinic.com.au
Reply-to info@samms.com.au
✓

You’re registered!

Hi Jane, your payment has been confirmed and you’re all set for the masterclass.

Working at the Edges: Clinical Skills for High-Risk, Complex Cases
Thursday 24 July, 6:30 pm AEST

Use the button below to join the webinar when it’s time:

Join Webinar
Save this email. Your join link is unique to you. If you have any questions, contact us at info@samms.com.au.
SAMMs Professional Services — Stability Before Capacity

Meanwhile, the SAMMs team publishes masterclasses without calling me.

A new masterclass needs two IDs: the ClickMeeting event and the Stripe price. The team pastes both into Framer, and the site pulls the title, date and price from them, so a page can’t show a stale price or the wrong date.

ClickMeeting
Working at the Edges — MasterclassSat 7 Nov · 6:30 pm AEST · 90 min
Scheduled
Event IDevt_8kq2…m4
the team copies the event ID
Stripe
MasterclassProducts · one-off
$149.00 AUD
API IDprice_1TOA…
…and the price ID
Framer CMS
NameStatusStripe Price IDFeature
MasterclassLive ⌄price_1TOA…
Pastes both into two CMS fields. No code, no deploy, no designer.
and the site derives the rest
  • ✓TitleClickMeeting
  • ✓Date & timeClickMeeting
  • ✓Live priceStripe

Pulled at render, never retyped, so a page can’t show a stale price or the wrong date.

Between masterclasses, the featured slot hides and a newsletter signup takes its place, since a “coming soon” box makes a site look abandoned. The site records where each person signed up and sends a welcome email to match. Switch the slot to its empty state in the hub above to see it.

A partner sends a referral without printing anything.

Referrals used to start as a PDF. I rebuilt it as a web form that follows the PDF field for field, so partners recognise it and the clinical team gets the same information. Dropdowns cover the pick-one questions, and checkboxes appear where the PDF said “select all that apply.”

The referral lands in SAMMs’ own workflow with links to the uploaded files. Records stay in Australia, and the database blocks deletion because SAMMs has to keep clinical referrals.

referrals.samms.com.au
The result

Each visitor gets what they came for, and the team keeps it running.

The clinician has the guide and a seat at the masterclass, and the partner’s referral is in the system with its files. The SAMMs team publishes masterclasses and receives referrals without calling a developer.

Want something like this built? →
More work