Think about where measurements actually happen: a supermarket produce aisle with one bar of signal, a basement utility room, a garage, a stairwell between two apartment doors. If your measurement app needs a server, it fails precisely where it's needed. So the first architectural decision was also the least negotiable one: every capture, every analysis, and every stored result works with the network off. Not a degraded offline mode — the primary mode. There is no online mode to degrade from.

What on-device actually buys you

Speed that changes how you measure

Analysis on the phone returns a result in under a second. That latency budget isn't vanity — it changes the workflow. Tap a melon, see the reading, tap it again in a different spot, compare. Pluck all 32 spokes of a wheel in a few minutes. When each reading costs a round-trip to a server, you measure once and hope; when it's instant, you measure five times and know. Instruments are things you iterate with.

Privacy by architecture, not policy

A microphone recording made in your home is exactly the kind of data that shouldn't need to travel. Here it doesn't: the raw audio is processed on the device and the extracted features are stored on the device. Nothing leaves the phone unless you sign in and explicitly press sync — and the app is fully usable without ever signing in at all. A privacy policy tells you what a company promises to do with your data; an offline architecture makes most of the promises unnecessary.

Cost structure that doesn't fight the product

Cloud inference means every measurement costs the vendor money, which eventually means subscriptions, caps, or ads. On-device inference costs nothing per use, so there's no pressure to meter you. The incentive alignment is quiet but real: an app whose marginal cost is zero can afford to let you measure as much as you want.

The catalog lives on the phone; the cloud is a copy

Everything you measure files into a local catalog — objects, use cases, measurements, labels — and the local database is always the source of truth. Signing in with Google adds one thing: a manual, deliberate sync that pulls the cloud copy and pushes yours, so a second device or the web viewer can see the same catalog. Manual is a feature, not a limitation — sync happens when you ask for it, in one direction pair you can reason about, rather than as a background process that occasionally surprises you.

Corollary for the web viewer: the browser-based export viewer follows the same rule. Open an exported bundle and it's parsed entirely in your browser — local file in, nothing uploaded, ever.

The constraint that keeps everyone honest

Offline-first has a quieter benefit: it forbids lazy engineering. You can't paper over a bad feature set by throwing a giant cloud model at raw audio. Everything must run on a phone's CPU in a second, which forces the analysis to be small, interpretable, and physically motivated: a resonance frequency and damping ratio instead of a black-box embedding, a same-receiver ratio instead of an absolute level. Those features are exactly the ones that transfer across phone models without per-device calibration — the constraint and the quality push in the same direction. (More on that design rule in the tools overview and the two-phone measurement post.)

What offline-first doesn't mean

It doesn't mean anti-cloud. Sync exists because a catalog you built over months deserves a backup and a second screen. And it doesn't mean models never improve: classifiers are trained centrally on measurements users chose to contribute with ground-truth labels — the dataset flywheel — and shipped back into the app to run, as always, on the device. The network is for moving knowledge, on your schedule. The measuring happens in your hand.