What this is. Opinion + Experience + Fact (25% opinion · 25% experience · 50% fact). Written in collaboration with AI — I discuss, I do not outsource.

At a hundred devices, the manual path works — you flash each one, watch a handful, and log in when something misbehaves. Every one of those manual steps quietly becomes the bottleneck three zeros later. Here is what changes on the way to a hundred thousand, and the device-side decisions that make scale a non-event.

The jump from a hundred devices to a hundred thousand is not a bigger version of the same problem. It is a different problem wearing the same clothes.

At a hundred, almost anything works. You can flash each unit on the bench, keep an eye on a short dashboard, and log into the one that is acting up. None of that survives three more zeros. The manual steps that felt like nothing at a hundred become the entire problem at a hundred thousand — and by then they are expensive to fix. The good news is that the traits which make a device survive a fleet are cheap to design in early, if you decide to.

Let me walk through what actually breaks on the way up, why visibility is the first casualty, and the device-side decisions that make scale a non-event.


1. At a hundred, the manual path works

A hundred devices is a forgiving number. You can hand-flash firmware, provision each unit one at a time, and keep them all on a single dashboard you can read at a glance. When one misbehaves, you find it, connect to it, and fix it in person. Every workflow can have a human in the loop, because a human can physically get to every device.

This is why the first version of almost every connected product is full of manual steps — and rightly so. At small numbers they are the fastest way to learn what actually works, and building automation you do not yet need is its own kind of waste. The discipline is what comes next: the moment a manual step works consistently, you automate it — while the numbers are still small enough that automating is cheap. The trap is not that the manual path exists; it is leaving a step manual long after it has proven out, and assuming it will still be there at scale.

▸ First principle. Manual is the right way to learn what works; the discipline is to automate each step the moment it works consistently.

2. The steps you never automated become the wall

Multiply by a thousand and the human-in-the-loop assumption collapses. You cannot flash a hundred thousand devices by hand, cannot watch them one at a time, cannot log into the one that is stuck — you may not even know which one is stuck. The steps you automated early scale without you; the ones you left manual become the wall the product hits on the way up.

The failure is rarely dramatic. It shows up as a rollout that takes weeks because provisioning is semi-manual, a support queue that cannot diagnose field issues, a fleet nobody can fully account for. The device did not get worse; the number got bigger, and the manual step could not follow.

The same job at 100 versus 100,000 devices Left column, at 100 devices: flash each, watch a handful, log in to debug, fix by hand — manual is how you learn what works. Right column, at 100,000: cannot touch each, cannot watch each, cannot find the one that failed, cannot hand-fix — the steps you never automated become the wall. A band below: automate what works, and design the device so you can. The same job, three zeros later. AT 100 · by hand Flash each device Watch a handful on a dashboard Log in to debug one Fix the stuck one in person Manual: how you learn. AT 100,000 · the wall Can't touch each one Can't watch each one Can't find the one that failed Can't hand-fix at scale Not automated: the wall. Automate what works — and design the device so you can: identity · telemetry · updates · observability EmbedIQ (device foundation) · EmbedIQ Cloud (run the fleet)

▸ First principle. Any step you do by hand at a hundred devices becomes impossible at a hundred thousand.

3. Visibility is the first thing you lose

Of everything that breaks at scale, the quietest and most damaging is visibility. At a hundred, if you want to know what a device is doing, you connect to it and add a print statement. At a hundred thousand, a single device is a needle in a haystack you cannot pick up. You only ever know what it was built to report — and only up to the moment it went quiet.

That means fleet health is decided long before the fleet exists. If a device does not emit structured, meaningful signals from the start — state transitions, faults, key metrics — no dashboard can invent them later. Observability is not a monitoring feature you buy for the cloud; it is a property you design into the device, or permanently do without.

▸ First principle. At scale you can only see what each device was designed to tell you — observability is a design-time decision, not a field one.

4. Fleet-readiness is a set of device traits

Here is the reframe that makes scale calm instead of frightening: "fleet-ready" is not a cloud you buy at the end. It is a short list of traits you design into the device at the start — and here is the economics that makes it urgent: each is cheap to build in early, and near-impossible to retrofit across a hundred thousand units already in the field:

  • A unique, verifiable identity per device, so the fleet can tell them apart and trust them.
  • Zero-touch onboarding, so a device joins the fleet without a human provisioning it.
  • Structured telemetry, so health is a stream of real signals, not guesswork.
  • A safe update path, so firmware can move to the whole fleet without hands on hardware.
  • Observability from line one, so every device can be understood from a distance.

This is exactly the device-side foundation I build in from the first block, and what EmbedIQ gives you: structured observability, telemetry, configuration, and an update-ready architecture, designed to be there before the fleet is. Running the fleet on top of it — orchestrating updates, watching cohorts, managing identity at scale — is what EmbedIQ Cloud is for. Let me keep the boundary honest: EmbedIQ is one way to get these device-side traits, not the only one; a disciplined in-house platform gets you there too. The point is that they belong in the device, decided early.

▸ First principle. A device is made fleet-ready at design time, on the device — not on the cloud after the fleet ships.

5. Design for a hundred thousand while you still have a hundred

You do not have to build the automation on day one. You have to make sure the device can support it later. The practical move is to look at each thing you do by hand at a hundred, and ask what it becomes at a hundred thousand:

By hand at 100What it becomes at 100,000Design into the device early
Flash and provision each unitZero-touch onboarding for the whole fleetUnique identity + provisioning hooks
Watch a handful on a dashboardFleet health across cohortsStructured telemetry + observability
Log in to debug one deviceDiagnose from a distanceMeaningful signals emitted by design
Push firmware by handStaged, reversible update campaignA safe, remote update path

Answer that for each row while the numbers are still small, and scale stops being a cliff. The device already speaks, already updates, already identifies itself — so growing from a hundred to a hundred thousand is a change in quantity, not a rebuild.

▸ First principle. Scale is painless when the device was designed for the big number while the number was still small.


A hundred devices forgives almost everything; a hundred thousand forgives nothing you left manual. The teams who scale calmly are not the ones with the biggest cloud — they are the ones who decided, early and on the device, that every unit would identify itself, report its health, and take an update without a human in the room. Design for the big number while you still have the small one, and scale becomes a non-event.

Sources

The figures "100" and "100,000" are illustrative orders of magnitude, not measured statistics — the point is the three-zero jump. Zero-touch onboarding, per-device identity, structured fleet telemetry, and safe remote update are established practices in connected-product engineering. EmbedIQ is the open-source device-side foundation (observability, telemetry, configuration, update-ready architecture) described here; EmbedIQ Cloud is the fleet-orchestration layer. The code and links live on my profile.

FAQ

Why does what works at 100 devices break at 100,000?
Because a hundred devices lets a human reach every unit — you can flash, watch, and debug each one by hand. At a hundred thousand those manual steps are physically impossible: you cannot touch, watch, or log into each device. Any workflow that depended on a human in the loop becomes a wall, so the manual steps that felt free at small numbers become the main constraint at scale.

What breaks first when an IoT product scales?
Usually visibility. At small numbers you debug by connecting to a device; at large numbers a single device is a needle in a haystack, and you only know what it was built to report. If structured telemetry and observability were not designed into the device early, no cloud dashboard can add them later — so fleet health is the first casualty of scale.

What makes a device "fleet-ready"?
A short set of device-side traits designed in early: a unique verifiable identity, zero-touch onboarding, structured telemetry, a safe remote update path, and observability from the first line of firmware. Each is cheap to build in at the start and near-impossible to retrofit across a large field population.

Can I add fleet management later with a cloud platform?
Only partly. A cloud can orchestrate updates, watch cohorts, and manage identity — but only using what the device already provides. If the device has no unique identity, emits no structured telemetry, or has no safe update path, the cloud has nothing to work with. Fleet-readiness starts on the device; the cloud runs the fleet the device made possible.

What are EmbedIQ and EmbedIQ Cloud?
EmbedIQ is an open-source, RTOS-agnostic device-side foundation — structured observability, telemetry, configuration, and an update-ready architecture — so a device is fleet-ready from line one. EmbedIQ Cloud is the fleet layer that runs on top: orchestrating updates, monitoring cohorts, and managing devices at scale.

The short version of this is on my LinkedIn. The device-side foundation is open source — it's called EmbedIQ — and the architecture, the code, and the links live on my profile.