Building a Real-Time Sponsorship Platform at SponsorCX

Overview: Instant Insight for High-Value Sponsorships

SponsorCX is the CRM and analytics engine behind sponsorship programs for professional sports teams, theme parks, and other marquee venues. Whether it is an NFL franchise tracking stadium signage or a global attraction managing branded retail space, every asset and every dollar runs through the platform.

Michael Perry, Principal Software Engineer and Head of Data, leads a team tasked with delivering premium real-time reporting features.

Keeping Up With Customer Expectations on a Modest Budget

For years SponsorCX refreshed its dashboards every 90 minutes—a cadence that satisfied most clients until several demanded “live” visibility.

Professional, real-time dashboards that are customizable at scale were very difficult to set up and maintain with a small team.
— Michael Perry, Principal Software Engineer and Head of Data

A quick fix dropped latency to one minute by running a batch denormalization job in a loop on their OLTP databases, but this load compromised the primary systems, impacting foreground traffic and causing 5-10 second page load stalls every minute. Building a traditional CDC-plus-stream-processing stack would have taken months of engineering time and far exceeded their headcount and budget.

Why Materialize

SponsorCX already modeled their CRM data as SQL views and was familiar using dbt to create data products via an ELT pattern. Since Materialize also manages transforms by defining composable views using SQL, their dbt models and experience were easily transferable. Michael simply connected Materialize to their Postgres database like a read replica, deployed the same transformations as SQL views, and was in production within a day. Rather than refreshing models in a loop, he deployed views once, and Materialize kept their complex transformations up to date as users made changes to their CRM.

The team avoided building and operating Kafka, Spark, or custom CDC connectors, yet achieved ~1 second freshness customers demanded.

Usually going from 90 minutes to real time using kafka and spark can take months, depending on how many engineers you have and how skilled they are. But with Materialize it is less than a day. And our SQL expertise transfers immediately. I think that’s the crazy part. It’s a luxury to write SQL for real time use cases.

Measurable Impact

Metric Before After Materialize
Data freshness 90 min batch ~1 s end-to-end
Dashboard load (15 charts) 5-10 s during spikes; risk of timeouts 1-2 s, P99 stable
Time to launch a new real-time use case Weeks–Months (Kafka/Spark stack) 1 day (add source, write SQL)
Ops overhead Manual view refreshes, capacity firefighting Fully managed incremental maintenance

Today Materialize ingests change data from the core CRM database and the SponsorCX team use views to build up a semantic representation of the core business entities that can be kept up to date as updates happen. This makes it fast, efficient, and cost-effective to serve aggregated views to SponsorCX customers via things like real-time dashboards. The next evolution will bring higher-volume event streams that will let the SponsorCX team create live digital twins of sporting events to power various workflows and UIs.

Materialize essentially preserved the “think in SQL” developer experience of dbt while delivering end-to-end latencies of ~1 second. A new client request for additional real-time reports and UI components now takes a few hours of SQL and front-end work rather than creating a new pipeline project that needs to be prioritized. Because Materialize can correctly re-use computations, data product costs scale sub-linearly with new use cases as they can leverage pre-computed building blocks.

The fact that I don't have to do anything other than write SQL is pretty crazy. It’s a massive time saver, and I don't have to hire streaming experts.

Creating a Live Data Layer for AI Agents

Ultimately Materialize gives SponsorCX the foundation to create a live data layer for agents.

SponsorCX’s roadmap features LLM-powered agents that will query Materialize directly to trigger instant alerts, or drive “control-room” experiences based on activity during live events. Because Materialize maintains transformations incrementally, every agent query can return in milliseconds—even when many agents send requests concurrently.

Our data products are separate from our software products but they need to be in sync. If a customer adds 10 pieces of inventory, they want to see it reflected throughout the entire system right away. For AI use cases, we need our data products to reflect changes immediately.

Conclusion

Materialize turned real-time reporting from a fragile workaround into a maintainable and cost-effective differentiating feature—without forcing SponsorCX to hire streaming experts and sink months into infrastructure projects. With real-time data pipelines solved, Michael’s team can focus on the next frontier: richer event dashboards and a live data layer for AI that gives customers — and ultimately intelligent agents – a view into any aspect of their events.

Materialize is one of those pieces of the puzzle that makes it so that real-time data products actually happen.

Get Started with Materialize