Growth MuseWhy taking AI out of the browser changes the way we think about software architecture A lot of...
Why taking AI out of the browser changes the way we think about software architecture
A lot of modern AI development happens in a very comfortable environment.
You have an API, a database, a model, a frontend, and a relatively predictable network connection.
Then you put that same intelligence into a warehouse, factory, construction site, vehicle, or other physical environment.
Suddenly, the assumptions start falling apart.
The network disappears.
Sensors produce noisy data.
Hardware fails.
Devices have limited compute.
The environment changes in ways your training data didn't anticipate.
And, perhaps most importantly, the output of your software can affect something in the real world.
That's what makes physical AI and industrial AIoT interesting from an engineering perspective.
The difficult part isn't simply putting an AI model next to an IoT device. It's designing a system that can reliably connect the physical world to software and turn imperfect observations into useful decisions.
A typical AI application might look something like:
User
↓
Application
↓
API
↓
AI Model
↓
Database
An industrial AIoT system can look considerably different:
Physical Environment
↓
Sensors / Devices
↓
Connectivity
↓
Edge Processing
↓
Data Pipeline
↓
AI / Analytics
↓
Application
↓
Operational Decision
↓
Physical Action
There are many more places where things can go wrong.
A temperature sensor might drift.
A tracking device might lose connectivity.
A machine may generate data at a much higher rate than the backend expects.
An AI model may receive incomplete information.
And even if the model produces a technically correct prediction, someone still has to decide what to do with it.
That last part is easy to overlook.
AI isn't the end of the system. It's one component inside the system.
One of the easiest mistakes in AI projects is starting with the technology.
"We should use computer vision."
"Let's add an LLM."
"We need an edge model."
"Can we build a predictive maintenance system?"
Those are technology decisions.
The better first question is:
What is actually happening in the physical environment that we want to understand or improve?
Imagine a warehouse where equipment is frequently misplaced.
The interesting problem isn't necessarily "How can we use AI?"
The problem might be:
How can we know where important assets are, where they have been, and whether they are moving through the expected workflow?
That changes the architecture.
You might need location sensors, connectivity infrastructure, an asset database, event processing, anomaly detection and an interface for operations teams.
AI may be part of that system.
It doesn't necessarily need to be the entire system.
In a normal software application, developers often have relatively clean inputs.
Physical systems aren't nearly as polite.
Consider a sensor measuring vibration from industrial equipment.
The data might contain:
If that data goes directly into an ML pipeline, the model isn't magically going to fix everything.
The pipeline has to understand the characteristics of the data first.
That means AIoT developers need to think about things like validation, timestamp synchronization, buffering, preprocessing, device identity and data lineage.
In other words, the data engineering layer becomes just as important as the model.
Another interesting architectural decision is deciding where intelligence should run.
Cloud processing has obvious advantages.
You can use more compute, centralize models, update systems more easily and aggregate information from many devices.
But sending everything to the cloud isn't always practical.
A system might need to respond quickly.
The network might be unreliable.
Bandwidth might be expensive.
Some information may be sensitive.
This is where edge processing becomes useful.
A simplified architecture might look like:
Sensor
↓
Edge Device
↓
Local Processing
↓
Important Events
↓
Cloud
↓
Central Analytics
The edge doesn't have to replace the cloud.
The two can complement each other.
For example, an edge device could filter or classify incoming data locally while the cloud handles longer-term analytics, fleet management and model updates.
The right architecture depends on the actual requirements of the system.
A prototype can work beautifully for ten minutes.
A production system has to work on a Monday morning when three sensors are offline, the network is unstable, and someone accidentally disconnects a gateway.
That's a completely different engineering standard.
Developers working on physical systems need to think about failure modes early.
What happens if a device stops reporting?
What happens if data arrives late?
What happens if two devices report conflicting information?
What happens if an AI prediction has low confidence