Every layer below is a real engineering surface with its own protocols, contracts, and failure modes. The stack is designed so operations pays for the sensors, and valuation emerges as a signed by-product of data we were already paid to collect.
ChirpStack → MQTT → time-series store. DLD transactions and Ejari lease connectors join the same spine.
Two independent lanes converge on one time-series spine. The telemetry lane runs a ChirpStack network server that terminates LoRaWAN, applies per-device decoders (hex → typed JSON), publishes to an MQTT broker, and lands rows in a Timescale-style hypertable with continuous aggregates for BHI windows. The market-data lane pulls from Dubai Land Department transactions, Ejari lease registrations, and third-party comps overnight, normalising them into the same schema keyed on property_id. The join happens at the spine, not in the app — so every dashboard reads a single source that already reconciles physics with market signals.
LoRaWAN frames from gateways + nightly market-data files and APIs.
Decode → validate → dedupe → insert into hypertable; ETL normalises leases and comps onto property_id.
Unified time-series rows: readings, leases, transactions, comparables.