Case study

Looper Studio

Brand, marketing site, and a booking system for a Limassol recording and creative studio — identity, front end, database, and payments, built end to end by one team.

Client
Recording & creative studio, Limassol
Year
2025
Role
Brand, design & engineering
Services
Site · Booking · Payments
Timeline
7 weeks to launch
Overview

One studio, one booking flow, one point of contact.

Looper Studio runs two rooms — a live tracking room and a smaller booth for voiceover and podcasts. They needed a site that looked like the work they make, and a booking system that let musicians reserve a room, pay a deposit, and get confirmed without a single phone call.

They had been booking sessions over Instagram DMs and a shared calendar. It worked while they were small. It stopped working the moment two engineers were fielding the same messages, double-booking the live room, and chasing deposits after the session had already happened.

They came to us for a website. What they actually needed was a way to run the studio. We scoped both in the same conversation — because splitting a brand job from the system it feeds is how projects end up with three vendors and no one who owns the result.

The challenge

Bookings lived in three places and agreed with none of them.

  1. 01

    Double-booked rooms

    Two people could reserve the live room for the same Saturday because nothing enforced availability. Someone got turned away at the door.

  2. 02

    No deposits, no-shows

    Sessions were held without a deposit. Roughly one in five never showed, and the room sat empty during peak evening slots.

  3. 03

    Manual everything

    Every booking was a back-and-forth: confirm the time, send bank details, wait for a transfer, update the calendar by hand.

  4. 04

    A brand that undersold the room

    The old page was a template with stock photos. It looked like a rehearsal space, not a studio artists wanted to record in.

The approach

Fix the system first, then make it look like Looper.

We built the booking engine and the brand in parallel, but the availability logic came before the hero shot. A good-looking site that double-books is still a broken site.

  1. 01

    Modelled real availability

    Two rooms, per-room hours, buffer time between sessions. Availability is computed server-side, so the calendar and the checkout can never disagree.

  2. 02

    Deposit at the point of booking

    A slot is only held once a card deposit clears through Stripe. No deposit, no reservation. The rest is settled at the session.

  3. 03

    A CMS they'd actually use

    Rooms, rates, gear lists, and the gallery are editable by the Looper team. We built the schema around how they describe their rooms, not a generic page builder.

  4. 04

    Built the brand around the work

    A dark, typographic identity and a site that leads with the studio's own recordings and photos. The booking button is never more than one scroll away.

  5. 05

    Shipped it as one deployment

    Brand site and booking app are one Next.js codebase on one host. One team wrote it, one team maintains it, and Looper has one number to call.

What we built

Four pieces, one codebase.

Booking platform

Real-time room availability, deposit-gated reservations, automatic confirmation emails, and a studio-side dashboard showing the week at a glance.

Payments

Stripe for card deposits and receipts, with webhooks reconciling every booking against its payment. Refunds are one click, not a bank transfer.

CMS

A lightweight content layer over Supabase, so Looper edits rooms, rates, gear, and gallery without touching code or waiting on us.

Brand & site

Full visual identity — logotype, type system, dark editorial layout — and a fast site that puts the rooms and the recordings first.

Stack

The stack.

Next.jsFramework
App Router — brand site and booking app in one deployment.
TypeScriptLanguage
End to end, including the availability and pricing logic.
SupabaseData
Postgres, auth, and row-level security for studio-side access.
StripePayments
Deposits, receipts, refunds, and webhook reconciliation.
VercelInfra
Hosting, preview deployments, and CI on every push.
The outcome

Bookings run themselves now. The double-bookings stopped on day one.

Modest numbers, because it's one studio — but the ones that mattered moved.

Under 6%

No-shows · was ~20%

The deposit did the work. Held slots are now paid slots.

Zero

Double-bookings since launch

Availability is enforced in one place, server-side. The failure mode is gone, not reduced.

~5 hrs/wk

Back to the engineers

Time that used to go to DMs and calendar admin now goes to sessions.

180+

Sessions in the first quarter

Booked through the site, deposit paid, no manual step in between.

After launch

We still maintain it. Looper adds rooms and adjusts rates themselves; we handle the code, the payments plumbing, and the occasional new feature. Because it's one codebase and one team, a change to the booking rules is a conversation and a deploy — not a coordination problem across three vendors.

All work
Get started

Ready to build? Let's talk.

Free consultation · No obligation · We reply within one business day