Work
Five case studies, and which bench built which part
Each case study below follows the same shape: the systems that had to talk to each other, what made that hard, what we built, what it does now, the stack, and who did what — measured from commit history rather than asserted. No client is named on any of them, and none of them claims a deployment in either direction.
- Three case studies
- Three live demos
- Measured authorship
- No client named
- Most work under NDA
Case studies
Five case studies, in full
In every one, the hard part sat where somebody else's work met ours.
An agent could read the building. Writing to it was the hard part.
A language model can be given a control system to read without much ceremony.
- Agents and control systems
Six repositories, four benches, one system that had to behave as one
A connected-device platform for retail and facilities: battery-powered devices on a long-range radio network, a provisioning path, remote configuration, telemetry, an operator dashboard and an internal operations app.
- Connected devices
The screens operators look at all day, built as components
Building automation graphics are usually drawn once, per site, by hand, and then maintained by whoever is still there.
- Operator interfaces
Four defects in a vendor's payload decoder, fixed upstream in a day
A LoRaWAN sensor arrives with a decoder written by its manufacturer, and the station believes whatever that file returns.
- Payload decoders
We read a stranger's Niagara tool in public. He implemented both fixes.
A member of the Niagara community publishes three free programs for copying component trees and driving link creation from a CSV.
- Code review in public
Evidence
Other work you can check
Each card opens the thing itself rather than a description of it — the tool you can run, the finding you can re-run against your own jars. Nothing here names a client — when work we can name is cleared to publish, it appears here as more of the same cards.
Three read-only protocol tools, free and unregistered
A BACnet Who-Is sweep, an MQTT topic explorer and a LoRaWAN payload-decoder harness. Each is a single file, each is read-only, and none of them asks for an account or an email address.
- Tools
A per-module Niagara 5 answer, read out of bytecode
Every removed API leaves a fingerprint in the bytecode of the class that calls it, and the jars are already on disk — so "which of my modules does N5 break" is a measurement rather than an opinion. The write-up states the limits too: what the scan cannot tell you, and the false alarms it avoids.
- Analysis
Niagara's module permission model does not survive Java 25
A module asks for privilege in its manifest, and the framework grants or refuses it through Java's Policy and SecurityManager. Neither can be installed on a Java 25 JVM, so those checks do not start failing — they stop happening. Found by running the JDK against the jars rather than by reading release notes.
- Finding
Settling a protocol claim against the code, twice
A documented default, range or register address is a claim about behaviour, not evidence of it. The method: read the implementation that is actually running, then derive the same answer by a second route that could have disagreed. Five worked examples, every one of them a correction to a claim we had made ourselves.
- Method
A widget set whose source runs unmodified in a browser
The dashboards above are the actual widget source that would run on a station, loaded by a minimal AMD loader against a simulated station that resolves ORDs and pushes changing values. Had the code needed rewriting to run here, running here would have proved nothing.
- Software
Also built
Work in other domains, at the level it can be shown
Systems outside building automation, listed by what they are and what part of them was ours. Where the code is private, it says so rather than implying otherwise.
| Data and measurement engineering | A research engine for market data: a keyed-nothing ingestion plane, a feature layer, a typed strategy language, and a backtester written to be pessimistic on purpose — fees, slippage and spread charged before a result is believed. What was ours: Ours, start to finish. Its own report concludes that two of the strategies it implements do not make money, which is the part worth hiring for.
Private repository — walkthrough on request |
|---|---|
| Platform specification | An architecture and execution plan for a workforce-scheduling platform: data model, API surface, permission model, and the order in which it would be built. What was ours: Ours, and specification only — no code was written. It is the same first deliverable every project here starts with, which is why it is listed as what it is rather than as a platform.
Written specification — shared on request |
Under NDA
The work that is not on this page
Everything above is here because it can be shown. Most of what we are paid for cannot be, and this says what it covers and how to see it anyway.
Most of the work this practice is paid for sits under a non-disclosure agreement. It is not described on this site and it will not be — an NDA honoured only until it is inconvenient is not an NDA. What that work covers, as system types rather than as clients:
- clinical records integration
- connected-device platforms and fleet dashboards
- applied-AI and analytics products
- field operations and dispatch platforms
- scheduling and workforce systems
- market-data and measurement engineering
- building automation on the Niagara Framework
Those are delivered systems in production use rather than prototypes, and they are this practice's own work. Both of those sentences are attested by us; they are not demonstrated here, and the difference matters. Everywhere else on this site, a claim about who wrote which part comes with a commit count you can hold us to. Here it cannot, because the evidence is the client's.
So the showcase is on request: if one of those system types is the closest thing to your problem, say which one in your first message and we will walk through the relevant work on a call, under NDA, with whatever detail that client's agreement allows. Ask for a walkthrough.
Next step
Tell us the version, the hardware, and what it has to do.
You will get a written scope and a fixed price against it. If the honest answer is that you do not need us, you will get that instead.