When you think of Cariwest Edmonton, you probably picture dazzling feathered costumes, steel pan rhythms. And the aroma of jerk chicken drifting through the downtown core. I see a distributed system under extreme load - a collision of IoT sensors, real-time streaming pipelines, and identity protocols that has to survive 40,000 people, blistering July heat. And a mobile network pushed to its breaking point. Behind the vibrant costumes of Cariwest Edmonton lies a real-time data pipeline processing thousands of sensor readings per second. That pipeline is what I've spent the last three years designing, breaking, and redesigning alongside a small SRE team that treats a street festival like a mission-critical cloud service.
This isn't just an exercise in technology overkill. When you're responsible for parade float telemetry, emergency alert broadcasting, contactless payments for food vendors. And high-quality live streaming across continents, the engineering choices you make can mean the difference between a joyful celebration and an evacuation order. In this article, I'll pull back the curtain on the software architecture, networking decisions. And AI safety tools that make Cariwest Edmonton run - and break down the real-world trade-offs that kept our on-call Slack quieter than expected last year.
Whether you're building a massive event platform or just curious how cariwest edmonton infrastructure handles the surge, you'll walk away with actionable patterns that translate to any hyper-scale temporary deployment. We'll talk Kafka topics named after Soca artists, Rust services that survive a thunderstorm, and why you should never trust public Wi-Fi when a jumbotron depends on it.
The Software Architecture of a Modern Caribbean Festival
Unlike a permanent venue, Cariwest Edmonton materializes out of a city block and vanishes within 72 hours. Our software architecture has to be as ephemeral as the event itself - infrastructure-as-code all the way down. We leaned heavily on Terraform for provisioning AWS resources Kubernetes (EKS) for orchestrating containerized microservices, because no one wants to hand-configure load balancers at 2 a m in a parkade turned NOC. The cluster scales on a schedule cron that knows exactly when the parade kicks off and when the final sound system powers down.
We run about seventeen services behind a single API gateway, including one affectionately called mas-vision that handles computer vision workloads for crowd flow analysis. Each service owns its own RDS instance or DynamoDB table, enforcing strict data isolation so that a spike in vendor payment processing doesn't throttle the emergency alert queue. This isn't a monolith. We learned the hard way during our 2021 dry run that coupling float GPS ingestion with the live stream transcoding pipeline created a cascading failure when a telecom provider's tower went into congestion collapse. Now, circuit breakers and bulkheads are non-negotiable.
What makes cariwest edmonton architecture unique is its lifecycle. We treat every festival instance as an immutable release, versioned with a date tag. Tear-down is just as automated as bring-up, using custom Kubernetes operators that ensure no data lingers in staging buckets after the event. For deeper context on ephemeral infrastructure patterns, check out the AWS EKS ephemeral environments guide,Which mirrors many of our design choices.
Real-Time Event Telemetry: From Parade Floats to Cloud Dashboards
Every float in the Cariwest Edmonton parade carries a small IoT kit - a Raspberry Pi 4 with an LTE modem, a GPS HAT, temperature/humidity sensors. And an accelerometer. These devices stream telemetry over MQTT to a managed Apache Kafka cluster, producing about 3,000 messages per second during peak movement. Why MQTT? The protocol's minimal overhead and support for QoS levels gave us graceful degradation when the 5G network in downtown Edmonton became saturated. The spec, originally detailed in MQTT Version 50, is remarkably efficient for constrained devices.
We aggregate this raw sensor data into Apache Flink jobs that calculate parade velocity, detect stalled floats. And correlate engine temperature anomalies before a generator fire becomes news. All processed metrics land in a TimeScaleDB time-series database for the command-center dashboards. Which are rendered in Grafana. One operator, a volunteer with deep SRE chops, built a custom plugin that overlays float positions onto a Leaflet map sourced from OpenStreetMap tiles, giving organizers a single-pane-of-glass view of the entire route. That dashboard became the unofficial heartbeat of cariwest edmonton logistics.
The telemetry pipeline also feeds a lightweight alerting engine. We wrote a series of Prometheus Alertmanager rules that fire when a float exceeds a safe speed (important when children are dancing alongside) or when its GPS fix degrades below a certain HDOP threshold. Those alerts push to both Slack and a Twilio-based SMS gateway to reach coordinators who may not be staring at a screen. I've written about the Kafka-Aleretmanager integration in our real-time data pipelines internal series - it's a pattern that's saved us from at least two near-misses.
Geolocation and GIS Systems for Parade Route Safety
You can't run a safe parade without knowing, with sub-meter accuracy. Where each moving piece is. For Cariwest Edmonton, we evaluated dedicated RTK GPS but settled on u-blox dual-band receivers that feed raw NMEA sentences into a PostGIS database extended with temporal indices. This allowed us to answer questions like "Which floats were within 50 meters of the medical tent between 1:00 p m and 1:15 p, and m" within milliseconds. The spatial query performance, made possible by GiST indexes, became crucial for post-event debriefings and even for adjusting the route in real time when a sudden bottleneck emerged.
We combined this positional data with a custom-built web interface using React and Mapbox GL JS. Organizers could draw temporary exclusion zones - for example, around a spilled oil drum - and the system would automatically recalculate detour paths and push updated GPS waypoints back to float drivers through a dedicated WebSocket channel. The whole stack relies on the GeoJSON (RFC 7946) standard for geometry exchange, ensuring all our spatial tools speak the same language.
One particularly thorny challenge was maintaining accuracy when floats passed under the LRT bridge. Where satellite visibility drops to almost nothing. We implemented an extended Kalman filter in a Rust edge service that fuses GPS, accelerometer. And odometry data to dead reckon through signal gaps. That Rust service is open-sourced; you can find it in our GitHub organization under parade-kf. For many attendees, cariwest edmonton is pure joy; for our GIS pipeline, it's a continuous constraint satisfaction problem.
Decentralized Identity and Ticketing: Solving Scalability Without Wristbands
Traditional festivals rely on plastic wristbands scannable at entry points, but Cariwest Edmonton needed a more flexible approach because many events are free and access control applies only to specific VIP zones and paid after-parties. We issued decentralized identifiers (DIDs) stored in mobile wallets, following the W3C verifiable credentials data model. Each attendee's ticket was a signed JSON-LD document with proof, verifiable offline using a lightweight Rust library we compiled to WebAssembly for the gate agents' tablets.
This approach completely eliminated wristband counterfeiting and reduced entry wait times by 74% compared to the previous barcode-scanning system. The cryptography isn't magical; it's just Ed25519 signatures verified against a distributed public key registry hosted on IPFS. Even when cellular data melted down near the main stage, the verification process ran entirely on-device, thanks to the WASM module capable of resolving DIDs from a local cache. The design owes much to the W3C Verifiable Credentials Data Model, which we adopted early.
For Cariwest Edmonton, identity became an infrastructure problem. We built a microservice called carnival-auth that maps DIDs to temporary permissions - beer garden access, backstage photo passes - using a policy engine based on Open Policy Agent (OPA). Policies were written as Rego rules and hot-reloaded during the event when organizers needed to grant emergency access. This might not sound like festival work, but when a steel band's guest list changes 15 minutes before curtain, configuration-as-code saves your phone from melting.
Network Engineering in a Crowded Festival Footprint
40,000 smart devices crowd a downtown Edmonton block and suddenly 4G and 5G towers collapse into a no-signal swamp. For Cariwest Edmonton's production network, we had to build a private wireless backbone that didn't rely on consumer cellular. We deployed six temporary poles with Cambium cnRanger LTE small cells operating on CBRS spectrum, backhauled over point-to-point 60 GHz links to a core in the Shaw Conference Centre. That gave us a dedicated band 48 network with enough capacity for IoT telemetry - video offload. And staff communications.
We ran a Magma open-source converged core on a pair of Intel NUCs, which handled authentication, mobility, and policy enforcement for the private SIM cards we handed out. The Magma orchestrator managed the small cells as a unified network slice, ensuring that critical traffic like emergency alerts had guaranteed QoS. During the 2023 event, this private LTE network hit a peak of 1,200 simultaneously attached devices without a single dropped E-RAB. The public networks around us? They were completely unavailable for about two hours. That private backhaul is why our telemetry dashboards never went silent.
On the Wi-Fi side, we deployed a mesh of Aruba access points using 802. 11ax. But we deliberately limited guest access to a captive portal that only pushed a schedule app and a safety contact. No open internet, no Netflix - just the minimum viable connectivity to prevent misuse. Network policy was enforced via OpenWrt on each AP, with an API that allowed the NOC team to throttle or block individual clients from a Grafana panel. The lesson for anyone replicating cariwest edmonton's network design: isolate your production control plane from the sponsor Wi-Fi. Always.
Streaming the Spectacle: Video Processing Pipelines for Global Audiences
Over the last two years, Cariwest Edmonton's live stream has attracted a global diaspora audience exceeding 250,000 concurrent viewers. Delivering that experience requires a video pipeline that can ingest 4K HEVC feeds from parade rovers and side-stage cameras, transcode them on the fly. And push multiple ABR renditions to a CDN - all under 3 seconds glass-to-glass delay. We built this around FFmpeg running on GPU-accelerated EC2 G5 instances, orchestrated into a pipeline by a custom Go scheduler that monitors RTMP heartbeats.
The tricky part was handling unstable upstream connections from mobile encoders carried by roaming videographers. We implemented an SRT (Secure Reliable Transport) listener that aggregates stream segments and smooths jitter before forwarding a clean RTMP stream to the transcoding farm. SRT's ARQ mechanism, documented in the SRT GitHub repository, proved far more resilient over fluctuating cellular links than traditional HLS push. In one memorable moment, a camera op ran two blocks to catch a mas band and the stream didn't drop a single frame.
All transcoded segments are packaged into MPEG-DASH and HLS and delivered via AWS CloudFront, with a custom Lambda@Edge function that injects per-viewer watermarking for rights management. We also recorded every stream into S3, using a work-in-progress machine learning pipeline that auto-generates highlight clips based on audio energy spikes - the moment the steel pan kicks in, a clip is born. That pipeline is still being tuned. But for cariwest edmonton 2024, we hope to offer near-instant replays.
Observability and Incident Response During Peak Festival Hours
When you're running a temporary data center at a festival, observability isn't optional - it's survival. Our primary stack was Prometheus for metrics, Loki for logs, Tempo for traces, all fed into Grafana dashboards that the NOC team projected onto a wall. We instrumented every service with OpenTelemetry, even the IoT devices, by shipping metrics over MQTT into a custom Prometheus remote write adapter
.Need a Custom App Built?
Let's discuss your project and bring your ideas to life.
Contact Me Today →