← Back to case studies
Foundation workParking Management · Rezcomm · 8 weeks

Real-time answers for a parking platform: sub-second, self-hosted, governed.

Operational data from multiple sources unified into a pipeline where every dashboard answer is derived from one defined source of truth, the property that makes data AI-ready later.

Data Pipeline EngineeringReal-Time Data IngestionObservability DashboardsDatabase Architecture

2

Data Sources Unified

Real-time ingestion from message queue and batch processing from S3

<1s

Query Performance

Denormalized data structure enables fast, simple queries

100%

Self-Hosted

Complete control with on-premise deployment, no vendor lock-in

Flexible

Pipeline Updates

Add, modify, or remove data transformations without disruption

Overview

A car parking management company needed a robust data pipeline to ingest real-time operational data and generate actionable insights. We built a self-hosted solution using Mage AI for orchestration, ingesting data from multiple sources into a denormalized data store, with custom Grafana dashboards for monitoring and observability.

The Challenge

The client operated a car parking management system that generated substantial operational data, but lacked a unified way to process and visualize it. Data arrived from multiple sources: some in real-time through message queues, others in batches via file storage. Without a proper pipeline, the team had no visibility into parking operations, occupancy trends, or system performance. They needed a solution that could handle real-time data streams while remaining flexible enough to accommodate future changes. Importantly, they wanted full control over the infrastructure, with no reliance on expensive SaaS tools or vendor lock-in.
  • Data arriving from multiple sources with different patterns
  • No unified view of parking operations and metrics
  • Need for real-time monitoring and observability
  • Requirement for self-hosted, flexible infrastructure

Our Approach

We started by mapping out the data sources and understanding the operational questions the team needed answered. The key requirement was flexibility: the ability to modify the pipeline easily as business needs evolved. We chose Mage AI as the orchestration layer. As an open-source tool that can be self-hosted on any server, it gave the client complete control over their data pipeline. Mage's block-based architecture meant that adding, updating, or removing transformations could be done directly in the pipeline without complex redeployments.
  • Discovery phase to map data sources and requirements
  • Selected Mage AI for flexible, self-hosted orchestration
  • Designed for easy modification and maintenance
  • Prioritized denormalization for query performance

The Solution

We built a data pipeline using Mage AI that ingests data from two primary sources: Real-time data flows in through a message queue, capturing live events from the parking management system. This includes transactions, occupancy changes, and operational events as they happen. Batch data arrives via S3, handling larger historical datasets and periodic data dumps. The pipeline processes both streams, applies the necessary transformations, and stores everything in a denormalized data structure. The denormalized approach was a deliberate design decision. By flattening the data at ingestion time, we eliminated complex joins at query time. This means dashboards load quickly and analysts can write simple queries without needing deep knowledge of the underlying data relationships. On top of this data layer, we built custom Grafana dashboards for observability and monitoring. Following established dashboard design principles, we created views that surface the most critical metrics while allowing drill-down into operational details.
  • Mage AI pipeline reading from message queue and S3
  • Data transformations handled centrally in Mage
  • Denormalized storage for fast, simple queries
  • Custom Grafana dashboards following best practices

Technical Implementation

The entire infrastructure is self-hosted, giving the client full ownership and control. Mage AI runs on their servers, orchestrating the data flow from source to dashboard. The pipeline architecture makes changes straightforward. Need to add a new metric? Update a transformation block in Mage. Want to change how data is aggregated? Modify the relevant pipeline step. Need to debug performance issues? Mage provides built-in monitoring to identify bottlenecks. This flexibility was critical for the client. Parking operations evolve, and the data needs change with them. Having a pipeline that can adapt without major re-engineering work means the analytics infrastructure grows with the business rather than becoming a constraint.
  • Self-hosted Mage AI for complete infrastructure control
  • Block-based pipeline for easy modifications
  • Built-in performance monitoring within Mage
  • Designed for long-term maintainability

The Results

The client now has complete visibility into their parking operations through real-time dashboards. Occupancy data, transaction metrics, and operational KPIs are all available at a glance. More importantly, the system is built to last. When new requirements emerge, whether a new data source, a different aggregation, or an additional dashboard, the team can implement changes directly in Mage without rebuilding the pipeline. The denormalized data structure means queries remain fast regardless of the complexity of the questions being asked. The self-hosted approach eliminated ongoing SaaS costs and gave the client full control over their data. No vendor dependencies, no per-seat pricing, no concerns about data leaving their infrastructure.
  • Real-time visibility into parking operations
  • Fast query performance through denormalized data
  • Flexible pipeline that adapts to changing needs
  • Full infrastructure ownership with no vendor lock-in

Tech stack

Mage AIS3Message QueueGrafanaPython
Primastat's work is brilliant and their attention to detail, especially considering the complexities of our requirement, was excellent.
Alwyn Veliyeth · CTO, Rezcomm

Find out what your AI actually scores.

One week. Thirty questions. A number instead of a hope.

Get your accuracy scoreOne week · fixed scopeYou keep the eval suite either way.