Spicemas Grenada
Live-streaming and PPV platform powering a national cultural festival — four independently deployed apps.
Live PPV and VOD catalogue — spicemasgrenada.org — scroll to see more
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.
- 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.
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.
- 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.
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