Preparing your first look.A little longer. Getting the details ready.Preparing a lighter preview.

You can also continue with a simpler preview.

← All workSelected work / 01

Jocassee Hydration & Aesthetics

Care that continues
after the visit.

A refreshed identity. A thoughtful rewards program. One connected platform for the people who keep coming back.

See it come together
BrandStrategyDigital product
Lake Jocassee winding between forested South Carolina ridges
Rooted in a place.
Built around its people.
Jocassee Rewards · Interface with synthetic member data
The client
Jocassee Hydration & Aesthetics
The engagement
Brand refresh → Strategy → Design → Build
The experience
An installable, phone-first member portal

The starting point

Three studios.
One relationship.

For Jocassee’s studios in Seneca, Clemson, and Salem, South Carolina, the experience shouldn’t end at checkout.

We connected the whole journey: a refreshed brand, a loyalty program shaped around real visits, and a member platform that makes the value easy to see. Square handles the visit. Jocassee Rewards carries the relationship forward.

SenecaClemsonSalem

Three ideas.
One clearer experience.

A balance you can find. Rewards you can reach. Progress you can feel. Scroll to see the strongest parts come together as Jocassee Rewards.

  1. 01 / BalanceMake the value visible.Greeting + Drops balance.
  2. 02 / AccessPut rewards within reach.Clear, simple navigation.
  3. 03 / ProgressGive the next visit meaning.Status + visit milestones.

Identity. Program. Product.

Jocassee Rewards

One connected member experience. Interface shown with synthetic member data.

Explore the program

01 / The identity

A sense of place.
In every detail.

Deep lake blues. A warm peach accent. A tall custom wordmark, with a wave drawn from the space between its two S’s. A complete visual language, carried from the brand into the product.

Refreshed Jocassee Medspa wordmark in white on Deep Blue
The primary identityInspired by the lake. Made for the everyday.

The type, the tone

Reward
the routine.

DM Serif Display gives the brand its unhurried voice. DM Sans keeps every form, label, and member interaction clear.

DM Serif Display + DM Sans
Deep Blue#15293F
Blue Sky#AED3E2
Off-White#FEFDFD
Silver#D9DADC
Dusty Peach#EAA18B
Ink Black#010413
Jocassee’s supporting J markA quieter signature.

From identity to interface

The brand becomes
the way it works.

Deep Blue anchors the balance card and primary actions. Blue Sky makes room for quieter moments. Dusty Peach marks birthdays and highlights. The wave adds texture without competing with the content.

The wordmark keeps the width of its E as clearspace; the supporting J keeps its own width. Small rules that make the system consistent wherever it appears.

02 / The program

Every visit gives
something back.

A loyalty program members can understand and a front desk can run. Built around the way Jocassee already works.

$1spent at a studio
1 Dropat the base earning rate
100 Dropsworth $5 in rewards
01 / Earn

Every visit becomes Drops

Members earn Drops automatically from Square-checkout visits — accounts come from real activity, not sign-up forms. One Drop per dollar, with 100 Drops worth $5 in rewards.

02 / Redeem

Short codes, in studio and beyond

A member taps a reward and gets a short code, good for 14 days. Today the desk applies it at checkout; next, the same code is planned to work as a promo code when booking through the Square booking link.

03 / One account

Unified across three studios

Earn at Seneca, redeem at Salem: the balance is one account across all three studios.

04 / Status

Shoreline, Bluewater, Deepwater

Qualifying visits over a rolling year set the member's tier and earning rate — 1.0×, 1.1×, and 1.25× Drops.

05 / Moments

Birthday and milestone bonuses

Bonus Drops mark the member's birthday month and every tenth qualifying visit.

06 / Referrals

Two-sided invitations

Members share a link; when a friend books and visits, both sides are rewarded.

01 / Shoreline1.0×Drops earning rate
02 / Bluewater1.1×Drops earning rate
03 / Deepwater1.25×Drops earning rate

Status follows qualifying visits over a rolling year.

03 / The member experience

A little care.
Always close.

Sign in with a phone number. See what’s earned. Choose a reward. A portal that installs from the browser and belongs on the member’s phone.

01 / Know your value

Everything earned, in view.

Drops, tier progress, and the next visit milestone in one calm overview.

02 / Find your reward

Something to look forward to.

A clear reward menu turns a points balance into a reason to return.

03 / Enjoy it in studio

Made for the real front desk.

Staff apply a short code in the Square checkout they already use.

Interface studies adapted from the project. All member balances, progress, and codes shown are synthetic.

04 / Behind the experience

Simple on the surface.
Considered underneath.

Square stays the source of truth for bookings and payments. The portal keeps the loyalty history. Clear responsibilities make the two work together.

01 / The visitSquare

Bookings · Checkout · Payments

02 / The loyaltyJocassee Rewards

Earn · Hold · Redeem · Reconcile

03 / The relationshipThe member

One phone · One balance · Three studios

Identity & access

Sign-in is a phone number

Supabase Auth + Twilio Verify, no passwords

Patients already book at Jocassee through Square using their mobile number — so the phone is the identity key the business runs on. A one-time code through a managed verification rail matches that existing behavior, adds no password to remember or reset, and joins the member to their Square history at every boundary.

Unknown numbers create nothing

Accounts come from real activity, not forms

Signing in with a number Square has never seen creates no account — there is nothing to farm. Membership originates from real studio activity, so when a member first confirms who they are, their Drops are already waiting.

Commerce

Two systems of record

Square owns commerce · Postgres owns loyalty

Square stays the source of truth for bookings, checkout, and payments; the platform's Postgres is the source of truth for Drops. Neither system pretends to own the other's facts, which keeps every reconciliation honest and every integration boundary explicit.

The order is the earn unit

Never the payment

A split bill produces several payments for one order. Earning on the order — not on payments — means paying with a card plus a gift card can never double-award Drops, and refunds claw back against the same unit they awarded on.

No webhook is trusted once

Durable inbox · backstop · nightly reconciliation

Signature-verified Square events land in a durable inbox and are processed asynchronously; a five-minute backstop recovers anything missed, and a nightly reconciliation squares the books against Square itself. Loyalty math never depends on a single delivery arriving.

Loyalty spine

The ledger only appends

Balance = the sum of its history

Drops are never edited in place: every earn, hold, redemption, and bonus is an appended entry, and per-member changes serialize under a row lock. The balance is always the sum of an auditable history — race-safe by construction.

Platform

One app, every surface

Next.js on Vercel · Drizzle-typed data layer

Members, the owner's admin, and machine endpoints live in one Next.js app on Vercel — one deploy, one design system, one typed data layer. Authorization sits at the data-access boundary, and only minimized projections of Square data are stored, keeping the sensitive surface small. The portal itself installs from the browser: phone-first, no app store in the way.

Next.jsVercelSupabaseDrizzleSquareTwilio
01

Designed against the real front desk

Short redemption codes were shaped around how the desk already works: a member reads a code, staff apply the reward inside the Square checkout they use every day — no new hardware, no second screen. The same codes are planned to carry into Square's online booking as promo codes.

02

One design system, brand to build

The refreshed identity ships as the product's design system — the palette, the DM faces, and the wave live as tokens and components, so the portal is the brand, not a themed template.

03

Money math, proven in tests

Earning, holds, clawbacks, and redemption land in pure, unit-tested modules before they touch a database — the arithmetic that moves Drops is verified on its own.

Brand. Product. Connected.

One thoughtful experience.
From first impression
to the next visit.

Let’s build yours

More selected work

Keep exploring.

All case studies