Skip to content
Back to Work

Case study · Wellness, booking & storefront

Essentials Amora

A client-owned wellness storefront and booking experience migrated off Wix.

Web DesignDevelopmentE-CommerceBookingSquare IntegrationCloudflare
Live homepage
Essentials Amora live homepage captured at a desktop viewport
Essentials Amora live homepage captured at a mobile viewport

The problem

Essentials Amora needed to move beyond a website-builder setup without losing the things the business actually depends on: massage booking, product sales, customer information, and payment processing.

The solution

cranberriestudios built a new Astro frontend and kept Square behind it as the transactional system. Booking and storefront interactions are native to the site, while Square handles the business records and payments underneath.

The result

A cohesive website for body care and massage that keeps the customer experience branded and portable while using established commerce infrastructure for the parts that need transactions and scheduling.

Live booking flow
Essentials Amora live booking flow captured at a desktop viewport
Essentials Amora live booking flow captured at a mobile viewport

Measurable project facts

Concrete scope visible in the current implementation.

5

Massage services

Five current service offerings flow through the website-owned booking experience.

3

Body-care products

Three current small-batch products are represented in the website storefront.

3

Booking steps

Service, client details, then date and time keep the appointment flow focused.

2

Payment paths

Clients can use secure online payment or choose payment at the visit where available.

What we implemented

01

Static-first marketing frontend

Astro renders the public experience quickly while transactional API routes run only where needed.

02

Native booking experience

A Vue booking flow presents services and real Square availability without sending the visitor to a separate website UI.

03

Native storefront and cart

Product discovery, cart state, quotes, and checkout presentation live inside the Essentials Amora site.

04

Square as transactional infrastructure

Square remains authoritative for appointments, catalog data, customers, orders, and payments rather than acting as the frontend.

05

Cloudflare application layer

Cloudflare Workers serve API routes while KV and D1 support OAuth and operational state.

06

Typed server contracts

TypeScript and Zod contracts keep browser-to-Worker booking and store payloads explicit and validated.

Implementation

The frontend is mostly static. Dynamic execution is reserved for booking, checkout, Square synchronization, and operational API routes.

Astro 7
Vue 3
TypeScript
Tailwind CSS 4
Square Bookings
Square Payments
Cloudflare Workers
Cloudflare D1 + KV

What changed for the business

  • The business moved away from Wix to a custom frontend it can own and carry forward.
  • Square is used as the transactional backend while the customer-facing booking and storefront experience remains branded and website-owned.
  • Massage services, body-care products, booking, cart, policies, local business information, and contact paths now live in one coherent experience.
  • The architecture separates mostly static marketing pages from the smaller set of dynamic API routes that actually require server execution.

Need booking and commerce without a page builder?

We can build the customer-facing experience around the systems your business already needs instead of making those systems define the design.