shipped
live, in production
LA podcast studio, public booking + admin for the operations team.
Visit
Live site02 · Outcomes
Numbers, not adjectives. The stats below are pulled from production. Anything still live, still measured.
shipped
live, in production
front · back · admin
one set of hands
flexible booking
equipment + calendar in one schema
infra + cache
session, hot data, lock acquisition
03 · Overview
Action Park Media books out studio time the way a hotel books rooms. Public site lets podcasters reserve a studio with their gear list and head count. Admin side lets the team see the calendar, manage equipment, message clients, and reconcile invoices. Built front-to-back, including the boring operational pages that other agencies hand-wave.
04 · Gallery
Secondary mockups, detail crops, mobile and desktop variants. Click any shot to open it full-size.
05 · Process
Four phases. Each one with a deliverable the client could see, not a slide deck of intent.
Studio bookings work like hotel rooms — except the room comes with gear, head count, and a setup window. Mapped the actual journey: podcaster picks a slot, declares head count + gear, operator confirms, invoice goes out, day-of setup is staged. Brief was: one platform covers all of it.
MongoDB schema for the booking + equipment shape (varies per studio). Node + Express on the API. React + Redux Toolkit on the public site and the admin, sharing a component library. AWS for hosting + asset storage. Redis for calendar cache + session + lock acquisition.
Booking surface led — gear pickers, head count, slot picker — then the admin scaled up using the same data. Calendar conflict resolution + concurrent booking locks were the trickiest piece; solved with a Redis-backed acquire-on-commit pattern so two podcasters never claim the same slot.
Live since 2025. Operations team handles calendar, equipment, client comms, and invoice reconciliation directly from the admin without engineering touch.
06 · Decisions
Tech is downstream of decisions. These are the calls made early enough to compound the right way. The ones a code review six months later still agrees with.
Bookings carry varying shapes per studio — gear lists, room layouts, seat counts, optional add-ons. A document store keeps the per-studio variation flat instead of spinning out a join graph that nobody maintains six months later.
Operations team needed a single console covering calendar, equipment, client comms, and invoice reconciliation. Built the admin in the same pass as the public site — no second project, no tool-bouncing for the team.
Calendar availability + session state behind Redis. Public booking page reads cached availability without hitting Mongo on every viewport check; lock acquisition on commit goes through the same cache layer so two podcasters can't reserve the same slot.
06 · Let’s build
I take 4–5 freelance projects a year. Cold pitches welcome. I reply within 24 hours on weekdays.