Skip to content
Live since 2025 · LA podcast studios
Full StackLiveWeb · 2025

Action Park Media

LA podcast studio, public booking + admin for the operations team.

Role
Full Stack
Year
2025
Category
Web
Stack
ReactRedux ToolkitStyled ComponentsNode.jsExpress.jsMongoDBAWSRedisJavaScript

02 · Outcomes

What the build actually shipped.

Numbers, not adjectives. The stats below are pulled from production. Anything still live, still measured.

2025

shipped

live, in production

End-to-end

front · back · admin

one set of hands

MongoDB

flexible booking

equipment + calendar in one schema

AWS + Redis

infra + cache

session, hot data, lock acquisition

03 · Overview

What it does.

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.

05 · Process

How the build actually ran.

Four phases. Each one with a deliverable the client could see, not a slide deck of intent.

  1. 01

    Conversation

    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.

  2. 02

    Plan

    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.

  3. 03

    Build

    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.

  4. 04

    Ship & Maintain

    Live since 2025. Operations team handles calendar, equipment, client comms, and invoice reconciliation directly from the admin without engineering touch.

06 · Decisions

The choices that shaped the build.

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.

MongoDB for booking + equipment shape

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.

Admin shipped alongside public booking

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.

Redis on the hot path

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

Have something to ship?

I take 4–5 freelance projects a year. Cold pitches welcome. I reply within 24 hours on weekdays.

hello@suzunovic.dev