Skip to content

/ Case study — Landing

Mave Beauty

A site that looks like the studio and that the studio actually runs — they edit the gallery and services themselves, and it goes live with no redeploy.

RoleFull-stack
Year2024
TypeLanding
AstroTypeScriptTailwind CSSDrizzleSQLite
mavebeauty.co.id Live recreation
Book Now

Refining Beauty.
Defining You.

The intersection of precision artistry and medical-grade hygiene. Welcome to the new standard of anxiety-free aesthetic care.

Explore ServicesView Portfolio

Our Expertise

The MAVE Portfolio

Brows.
01

Brows.

Sculpted Perfection.

Bespoke shaping and tinting that enhances your natural architecture.

Discover Brow Artistry
Lips.
02

Lips.

Irresistible Allure.

Soft, buildable colour that restores definition and balance.

Discover Lip Artistry
MAVE Admin✓ saved

Portfolio · CRUD

Brows. Sculpted Perfection.

published

Lips. Irresistible Allure.

published

Lashes. Weightless Elegance.

draft

Hand-built CMS · OTP auth · Drizzle/SQLite.
The page is SSR — publish and it's live. No rebuild.

The actual site, rebuilt in code — publish in the CMS and the page changes. No rebuild.

mavebeauty.co.idFIG.00 — Overview
  • Astro SSR — fast + indexable, live content
  • Hand-built admin CMS — OTP auth + portfolio CRUD
  • Drizzle schema as the content model (own CMS)
LandingMave Beauty
Astro SSR
Rendering
Custom CMS
Admin
OTP + reset
Auth
Drizzle-backed
Content

/ What it does

A beautiful site the studio keeps current itself

An elegant brand site that loads instantly and guides visitors to booking — and the studio updates its own gallery and services from a simple admin, no developer required.

Visit & bookStep 1 / 5

Land on the site

Fast, elegant, on-brand.

Refining Beauty
  • Always up to date

    The studio adds new photos and services itself, instantly.

  • Loads instantly

    A fast, polished site that works beautifully on any phone.

  • Turns visitors into bookings

    Every page points clearly toward booking an appointment.

Problem

The studio needed a front door as considered as the service — but also one they could keep current themselves. New portfolio work and services shouldn’t mean emailing a developer every week.

Approach

An Astro site rendered server-side, backed by a small custom CMS built for exactly this studio. An authenticated admin manages the portfolio gallery, service categories, and studio profile; content lives in a Drizzle-backed database and renders on request.

  • Astro SSR (Node adapter) for fast, indexable pages that reflect live content.
  • A hand-rolled admin: login with OTP, password reset, and CRUD for portfolio and categories.
  • A Drizzle schema as the content model — no third-party CMS to rent or outgrow.

The best CMS is the one shaped to a single business — nothing more, nothing to learn.

Architecture

Astro SSR (Node adapter)
  ├─ public: home · services · locations · clients  ── read from DB
  ├─ admin:  portfolio · categories · profile        ── auth-gated
  │     auth: OTP · password reset (API routes)
  └─ data:   Drizzle ORM → SQLite

Key decisions & trade-offs

  • SSR over static for editable content. Server rendering keeps pages fast and indexable while letting the studio publish changes instantly.
  • Custom CMS over a platform. A tiny purpose-built admin (portfolio + categories) is simpler to use — and to own — than bending a headless CMS to fit.
  • Auth done properly. OTP login and password reset, not a shared password taped to the monitor.

Result

A brand-true marketing site the studio keeps current on its own — gallery, services, and profile all editable, on a backend they fully own.

/ How it’s done

The studio’s own CMS — live

Edit the category and caption; the public tile updates. A hand-built admin, not a rented CMS.

admin · portfolio
public · SSR
BrowsOmbré powder brows · natural finish

The best CMS is the one shaped to one studio. A hand-built admin — OTP auth, password reset, portfolio & category CRUD on a Drizzle schema — lets the studio keep its gallery current itself. Astro renders it server-side: fast, indexable, and always live.

01

SSR over static for editable content

Astro renders server-side, so pages stay fast and indexable while the studio publishes changes instantly.

02

A CMS shaped to one studio

A tiny purpose-built admin — portfolio and category CRUD — is simpler to use and to own than bending a headless CMS to fit.

03

Auth done properly

OTP login and password reset, not a shared password taped to the monitor.

04

Drizzle schema as the content model

The database schema is the content model — no third-party CMS to rent or outgrow.