The Air We Live In: What a Backyard Network Is Actually For
#kairair#manifesto#air-quality#iot#roadmap#building-in-public#mvp#civic-data
David Olsson
This is the long version. Over twelve posts, I've told the KAIRair story one piece at a time — the origin, the firmware, the source of truth, the sensors, the signed updates, the power, the privacy, the hosts, the API, the experience, the calibration, and the vision. This essay pulls all of it into one argument: what this project is, what it can do, why it matters at every scale from a single backyard to artificial intelligence, and exactly what stands between here and the launch of the MVP. If you only read one thing about KAIRair, read this. If you want the details, each section links to the post that goes deep.
The premise
We live inside the air. Every second, without a choice, we're immersed in it — and almost everything it's doing to us is invisible. We've named the obvious part, weather, and built enormous institutions to forecast it. But the fine-grained, local, personal truth of the air — what's actually in the twenty cubic metres around a specific person, in a specific backyard, right now — mostly doesn't exist as data anyone can see.
Official monitors are sparse and belong to institutions. They answer questions at the scale of a city. They do not answer the question a parent actually asks: is it okay for my kid to play outside, here, today?
KAIRair is a bet that the answer to that question should belong to the people who live there — and that the way to build it is not a government sensor grid but a network of owned, trusted, backyard stations, close together, each belonging to the person whose air it measures. Weather is where we start, because everyone already has a relationship with it. Air is where we're going, because that's the thing we're actually inside.
The live network at kairair.com — real stations reporting, live stats, and a real-time map. It's running today, not a mockup.
This is an MVP, and I mean that precisely, not as an apology — the smallest version of the idea that actually proves the idea. Right now that's ten stations, four types, in a handful of backyards, in calibration. Small enough to build well; large enough to be true. Everything below is written honestly against that reality.
What KAIRair is, in one breath
KAIRair is a full-stack, open community air network. A workshop-built station — an ESP-class controller, environmental sensors, a little display — reports to one backend, appears on a shared map, can be reconfigured remotely, updates itself over signed over-the-air firmware, belongs to the person who claimed it, and gives that person a live, installable experience of their own air. The data is reachable through a research API and answerable, in plain language, through an AI assistant.
Underneath, one architectural commitment holds the whole thing together: a single source of truth. Every downstream artifact — the firmware's pin map, the wiring diagram, the bill of materials, the backend's idea of what a station is — is generated from one versioned definition, never hand-duplicated. That one decision is why the network can grow to new boards and new sensors without collapsing into a pile of drifting, contradictory files.
A real station page — live readings, 24-hour and 7-day charts, the human host, station info, the hardware it's built from, and the full per-sensor list of every metric the device measures. The bench boards never had this: a memory and an audience.
The twelve-part build series tells the whole story as narrative, and the repository carries a full documentation suite — architecture, data model, the signed-OTA protocol, extensibility, and an honest technical-readiness scorecard. This essay is the altitude view.
The ladder: from a location to us
The reason to build KAIRair carefully is that its value compounds as you climb a ladder — from a single point in space all the way up to intelligence and community. Each rung depends on the one below it, and the engineering choices in the series were made to hold the whole ladder, not just the bottom.
1 · Location
It starts with a place. A station is a fixed point in the world — a backyard, a fence post, a community garden — and that point is the atom of everything else. Air is intensely local: a valley traps cold that the hill above it never feels; one street bakes while the next stays shaded; smoke pools where the wind can't reach. A network of many nearby points is the only instrument that can see those differences, because the differences are the data. The map isn't a display of the network; it's the first finding of it. Put enough trusted points on it and the microclimate of a neighbourhood becomes visible for the first time.
The map over the Okanagan — online and offline markers, co-located stations gathered into a cluster (the green “2”), and a live temperature/humidity balloon floating above a node. Many nearby points is the whole idea.
2 · Inhabitants
A location has people, and this is where KAIRair diverges hardest from an institutional sensor grid. Every station is claimed — it belongs to a human, not to the platform (the ownership post). The person who hosts it owns it, decides how much of themselves to attach to it, and is private by default: the protective posture is the one you're in before you touch a setting. The interesting, shareable thing — "the pressure is dropping across this neighbourhood" — can be public without the private thing — "and here's exactly whose house that is" — coming along.
That inverts the usual deal. On most connected-sensor platforms, your data is the company's asset and you rent a view of it. Here, the inhabitants own the instruments, and the network exists to serve the people it measures. A host isn't a data source. They're a citizen of a network, with a station that's theirs.
Becoming a host: assemble the kit or receive one ready, plug it in, and it's yours — claimed, private by default, a station in a network rather than a data source for someone else's product.
3 · Air metrics
On top of a place and its people sits what we actually measure. Today that's weather — temperature, humidity, pressure, air quality from a BME-class sensor. But the data model was built to grow: a station reports whatever it measures, and the network captures a brand-new metric the moment its firmware reports one — no schema change, no migration, no permission (the dynamic-sensors post). You can see this on the station page above — the "10 readings this device measures" panel is that mechanism in action, each sensor's metric caught and listed. That flexibility was never about temperature. It was built for the measurements not yet on the list: pollen, wildfire smoke, fine particulates, UV, sound — the invisible traffic of a living place. Weather is what we notice in the air; it is not what's in the air. The gap between those two lists is the whole opportunity.
4 · Datastreams
Measurements are only worth gathering if they can move. KAIRair treats its data as a service, not an export you beg for later (the API post): a key-authenticated, versioned research API you can build against; a live real-time channel so the map and the experiences reflect the air as it changes; and the messaging backbone that lets a backyard fleet scale from ten stations to hundreds. The readings become yours to compute on — join them to your own data, ask questions the map can't answer, subscribe to the present instead of refreshing the past. The network gathers; you get to reason.
KAIRair for researchers: the open API exposes the station directory, latest readings, and historical time-series across an open-ended metric set (temperature, humidity, pressure, gas — plus PM2.5 or CO₂ where a station reports them), with rate-limited keys granted case by case.
5 · AI
Here the ladder does something most sensor networks don't reach. KAIRair speaks to AI as a first-class interface — an MCP server lets an assistant query the live network in plain language (again, the API post). The research API is for people who write code; the MCP is for everyone else. "Which stations went quiet? Where did the pressure fall fastest today? Is my valley really colder than the hill?" — asked in a sentence, answered from live sensors. And the experience layer is AI-adjacent in spirit: a normalized station-state feeding a generative, real-time scene (the experience post). A growing corpus of local air data, reachable by models, is exactly the substrate future intelligence needs to reason about the environment at human scale.
A station's live weather experience — a real-time 3D sky driven by that station's actual readings and the true position of the sun, installable full-screen on a phone. This is a genuine capture of the running scene. Weather you can feel, not just read.
6 · Us
At the top of the ladder is the point of it. A network of owned, trusted, backyard air stations, close together, queryable by code and by conversation, is how you make the invisible local — and how you hand it back to the people who live in it. It's civic infrastructure that no institution had to authorize, health-relevant data at the scale of a street, and a shared picture of the air that belongs to a community rather than a company. Weather proves the model. Air is the mission. And the mission, in the end, is us — the people breathing, who deserve to see what they're breathing.
What it can do today
Stripped of roadmap and stated plainly, here is what's real and running right now:
- A live network and map at kairair.com — stations report, the map updates in real time, co-located stations cluster, and each node can show its current reading.
- A source-of-truth definition facility that generates firmware headers, wiring diagrams, and BOMs from one YAML definition, gated by electrical-rule validation (the source-of-truth post).
- One shared firmware across station types, with the per-station differences generated, not hand-written (the firmware post).
- Signed OTA — devices refuse any update whose signature doesn't verify, on top of hash and size checks; updates push per-channel or per-device, managed from the admin console (the OTA post).
- Dynamic metric capture — unknown sensor readings auto-register on first report.
- Ownership + privacy — claimed devices, opt-in identity, private-by-default posture.
- The build pipeline — a guided path from parts to a self-tested, flashed, onboarded station.
- A research API + MCP — keyed, versioned, and conversational.
- The weather experience — a per-station, installable, live 3D scene.
The roadmap to MVP launch
"Launch" for this MVP is a specific, unglamorous milestone: the first ten stations, calibrated and trustworthy, released to hosts. Not "the software works" — that's done. Launch is when I'd put a station in your backyard without flinching, because I'd trust its readings there as much as on my bench. Here's the honest path to that line, and the red cells are left in on purpose (the calibration post).
| Milestone | State | What "done" means |
|---|---|---|
| Platform, network, live map | 🟢 Done | Running at kairair.com |
| Source of truth + generation | 🟢 Done | Definitions drive firmware, diagrams, BOM |
| Shared-HAL firmware | 🟢 Done | One firmware, config generated per type |
| Signed OTA + key discipline | 🟢 Done | Verified updates; signing key rotated deliberately |
| Dynamic sensor capture | 🟢 Done | New metrics absorbed on first report |
| Research API + MCP + experience | 🟢 Done | Keyed/versioned data; conversational; live scene |
| Calibration of the first ten | 🟡 In progress | Ten stations, four types, agree with each other and reference conditions within a stated margin |
| Off-box backup activation | 🟡 Plumbed, not live | Restic→B2 scheduled; switched on so a lost signing key is survivable |
| Battery/solar lifespan characterization | 🟡 In progress | A battery station's runtime is a known number, not a hope |
| Host onboarding polish | 🟡 In progress | Box-to-map with zero help for a non-technical host |
| Automated test suite | 🔴 Not done | Correctness leans on validation + calibration today |
| MQTT+TLS + per-device credentials | 🔴 Phase 2 | The messaging path that scales past a handful |
| ESP32 A/B rollback | 🔴 Phase 2 | Belt-and-suspenders update safety on 32-class boards |
The critical path to launch is the yellow, not the red: finish calibration, switch on the backup, pin down battery lifespans, and smooth onboarding. The red rows are post-MVP — the architecture is already shaped for them (the messaging backbone, the signed-update discipline), but they're honestly what turns a proven ten-station network into a scalable one, and they come after launch, not before.
Why this is a project and not a gadget
The line between a gadget and a piece of infrastructure runs through every decision in this series. A gadget works once, on your desk, for you. Infrastructure works for people who aren't you, in places you'll never visit, and maintains itself safely when you're not looking. Every "boring" choice — the single source of truth, the signed updates, the ownership model, the dynamic data model, the honest calibration gate — is what moves KAIRair across that line.
And the applicability compounds the whole way up. A single location becomes a microclimate map. Inhabitants become an owned, private-by-default civic network. Weather becomes air — pollen, smoke, particulates, the measurements not yet on the list. Air becomes datastreams you can compute on. Datastreams become answerable by AI in plain language. And all of it, in the end, is for us — the people inside the air, who have never had a clear look at what they're breathing at the scale of their own street.
That's the initiative. Not a weather widget. A way to make the air we live in legible, owned by the people who live in it, built carefully enough that the first ten stations earn the right to become a hundred.
Back to the drawer
It started with a drawer of little boards that measured the air and told no one — precision with no audience, a truth with no way to be heard (where the series begins). Emptying that drawer turned out to require a source of truth, a shared firmware, signed updates, an ownership model, a data service, an AI interface, and an experience you can feel. Along the way, a weather project quietly became an air project — because the medium was always air, and air is full of life.
The drawer is empty. The network is listening. We're at ten stations, in calibration, honest about the frontier — and building toward the day the air around ordinary people, in ordinary backyards, becomes something they can finally see.
Weather is our context for the experience of air. Air is full of life. And this is how we start to hear it.
KAIRair is an Atomic 47 Labs project, built with heart in Kelowna, BC. Read the full build series starting with Air, Out Loud, or see the live network at kairair.com.