← All systems
SYS-SPC production

Spicemas Grenada

Live-streaming and PPV platform powering a national cultural festival — four independently deployed apps.

StatusLive · spicemasgrenada.org
https://spicemasgrenada.org/
Live PPV and VOD catalogue — spicemasgrenada.org

Live PPV and VOD catalogue — spicemasgrenada.org — scroll to see more

The problem

Grenada's Spicemas carnival is the country's biggest cultural event, but reaching people was stuck in the past: no reliable way for the diaspora to watch from abroad, entirely analog ticketing with no way to sell overseas or gift a ticket, three separate vendors (stream, chat, donations) each a different way for the show to break, and a previous stack that would crash under real peak traffic.

What was built
  • Four independently deployable applications — an API owning the business logic, a public site, an admin panel, and a small isolated real-time service — so a chat traffic spike can't take payments down and an admin-panel deploy can't touch a live broadcast.
  • A live video pipeline where organizers create an event and get a live-streaming endpoint automatically, with adaptive playback across phones, browsers, and TVs, and the same pipeline doubling as on-demand video once a broadcast ends.
  • Three monetization models — single-event tickets, all-access subscriptions, and gift/promo codes — flowing into one payments table that records five separate amounts per transaction, so organizer payout math is a query, not a reconciliation project.
  • A deliberately small real-time layer for live chat, instant ban propagation (an admin bans someone and every device sees it enforced in under a second), and a globally toggleable live banner.
  • Mobile-to-TV casting via a simple 6-digit pairing code, and self-healing deployment tooling that restarts only genuinely broken services, after an earlier full-restart approach was found to be dropping live chat connections for thousands of viewers mid-broadcast.
The outcome

A live platform that has run the actual festival, handling thousands of concurrent viewers and chat participants during peak parade broadcasts, real ticket and subscription revenue, and organizer payouts — with a deploy pipeline fast and targeted enough that a backend fix ships in under a minute without touching anything else.

Engineering highlights
  • Splitting into four apps was a reliability decision, not just an architecture preference — proven when a real chat-service issue during peak traffic never touched ticket sales or video playback.
  • The 'five amounts per payment' financial model pays off quietly — the day someone asks 'how much do we owe this promoter,' the answer is one query instead of a spreadsheet project.
  • An optional high-concurrency runtime mode — same Laravel code, one setting flip, several times the throughput on the busiest endpoints.
Stack

Laravel 10 (optionally on a high-concurrency runtime) · Next.js 15 · React 19 · TypeScript · Node.js · Socket.IO · PostgreSQL · Redis · Mux (live video + HLS) · Stripe (plus a regional gateway) · Firebase Cloud Messaging · nginx · GitHub Actions

Screenshots

See it in action.

— loading —
scroll →