Case study

Quext cut IoT dashboard refresh from 30 minutes to under 5 seconds

Property managers saw device data 30 minutes late, leak alerts lagged 15 minutes, and pipelines needed fixing by hand every day.

Quext

99%faster dashboard refresh for property managers

The workflow before#

Quext builds smart home and property technology for multifamily communities: smart locks, thermostats, leak sensors and access points that generate millions of events a day. Property managers rely on that data to spot problems before residents do. But batch pipelines refreshed dashboards only every 15 to 30 minutes, and an urgent alert like a leak took 10 to 15 minutes to arrive. Pipelines ran at about 92% uptime, and engineers spent mornings fixing failed jobs. At the same time Quext was rewriting its monolithic property management application into microservices, and each new service needed reporting on day one without slowing developers down.

What we built#

We built Quext a streaming data layer for its devices and one shared set of metric definitions on top. Device events flow to dashboards and alerts as they happen, every role sees the same numbers, and the pipelines check their own health. For the microservices rewrite, we gave developers a tested pattern for reporting so each new service arrives ready to measure.

Events that arrive as they happen

Device events now stream in instead of waiting for a batch, so a property manager's dashboard updates in under 5 seconds and a leak alert lands in under 30. We split the stream by device type, event class and alert severity, so a burst of thermostat readings never delays a leak warning.

One definition for every metric

A semantic layer defines each metric once, such as device uptime, maintenance response time, energy efficiency and cost per unit, and serves it to role-based dashboards for property managers, portfolio owners and maintenance staff. Row-level security means each customer sees only its own communities. We put definitions in one layer because three dashboards with three versions of uptime is worse than one slow dashboard.

Pipelines that report on themselves

Orchestrated models run with schema, freshness and completeness checks, and the team sees pipeline health, quality scorecards and failure alerts in one view. Problems show up as alerts, not as a property manager's complaint. Uptime went from about 92% to 99.5%.

A reporting pattern for each new service

We used a smaller application, Digital Human, as a low-risk pilot: we built its dimensional model and data marts and tried embedded dashboard options. The result became a checklist and target schemas developers build each new service toward, so shipping a new metric takes 2 to 3 days instead of 2 to 3 weeks.

How we delivered it

We moved the device stream and semantic layer first, since property managers felt the lag most, then hardened the pipelines, then ran the Digital Human pilot alongside Quext's engineering team so the pattern came from real work rather than a slide.

Before and after#

MeasureBeforeAfter
Dashboard refresh15 to 30 minutesUnder 5 seconds
Urgent alert delivery10 to 15 minutesUnder 30 seconds
Data pipeline uptimeAbout 92%99.5%
Shipping a new metric2 to 3 weeks2 to 3 days

What's next#

With one governed metric layer over device, energy and operations data, Quext can let property managers ask questions of their portfolio in plain English and get answers built on the same definitions. The same device history is the training data for predictive maintenance, flagging equipment before it fails.

ShareLinkedInEmail

Ingestion: IoT devices post through API Gateway into Kinesis and on to Kafka topics partitioned by device type, event class and alert severity, with Kafka Streams handling real-time aggregates. Property management systems and third-party sources arrive by batch API and webhooks.

Modeling and storage: Airflow DAGs run incremental dbt models with schema validation, referential integrity and freshness tests. Redshift holds time-series optimized analytics tables, PostgreSQL the application backend and configuration, and Snowflake the shared and advanced analytics datasets. Cube.dev exposes metrics over REST, GraphQL and SQL with pre-aggregation caching and row-level security for multi-tenant access in the v3 Quext Cube application.

Microservices reporting: each new service lands its data in marts defined against a shared dimensional model, proven first on the Digital Human application with Redshift and QuickSight; Apache Superset was evaluated as the embedded visualization layer. Infrastructure is Terraform, with services on Docker and Kubernetes.

Next step

Let's build the case study we tell next.