
Shipping IoT past the demo
Blinking an LED on an ESP32 is fun. Keeping thousands of devices online, authenticated, and diagnosable is a different sport.
The gaps demos hide
- Connectivity is intermittent — your happy-path Wi-Fi lab is not a farm, factory floor, or apartment with CGNAT.
- Firmware must be updatable — without brick risk and without manual USB visits.
- Observability beats guessing — device ID, last-seen, firmware version, and error codes should be first-class.
Patterns that held up for me
- Treat the cloud API as a product with versioning, not a quick Firebase dump.
- Design for offline buffering on the device when the business allows it.
- Separate ingest, storage, and visualization so dashboards do not block telemetry.
- Automate provisioning — QR/claim codes beat copying secrets by hand.
- Prefer boring infrastructure (Docker, Postgres, clear metrics) over clever one-offs.
Where embedded meets product engineering
The best IoT products are full-stack: firmware, backends, and UIs that tell operators what to do next. That is the work I enjoy most — whether the domain is agriculture sensors, industrial monitoring, or consumer devices.