Hardware and software as one system
For a multi-location gym chain we joined a CRM, a React Native member app, QR-code entry gates and kiosk payments into a single system on AWS. A membership change made at the reception desk takes effect at the gate immediately, and a payment taken at a kiosk shows on the member's record without anyone re-keying it.
That is the shape of most useful IoT work: devices at the edge, a cloud layer that holds the truth, and the business systems that already run the company, all kept in step.
What happens when the network drops
Devices lose connectivity, and a gate or kiosk that stops working when the internet does is not usable. We design for it: the device keeps a local copy of what it needs to decide, queues what it cannot send, and reconciles when the connection returns.
The rules for conflicts are agreed up front, in writing, because that is the decision that turns into a queue of people at a door if it is settled badly.
The cloud layer
Device messages arrive through a broker, are validated before anything downstream sees them, and are stored so you can replay what a device reported and when. That history is what makes support possible, and it is usually the part missing from IoT projects that reach production and stall.
We build this on AWS or Azure using managed services rather than servers we would then have to patch, and scale it against the number of devices and the message rate you actually expect.
Apps and dashboards for the people involved
The same platform serves two audiences: customers who use a mobile app, and staff who need a dashboard showing device status, exceptions and today's activity. Both read from the same records, so neither has to be told what the other has done.
We build those in React Native for mobile and React on the web, the same stack behind the rest of our delivery work.
Security for devices you cannot stand next to
Each device gets its own credentials, so one compromised unit can be revoked without touching the rest. Traffic is encrypted, firmware and configuration changes are logged, and the API behind the fleet checks every request rather than trusting the device.
Access to the dashboards follows roles, and the audit trail is kept, because IoT systems usually touch payments, entry or physical safety.