Anti-Anxiety Design: The Features I Refused to Build into a Location App
- product design
- privacy
- UX
- ethics
- North
Family location apps have a dirty open secret: their engagement model is anxiety. The notification that spikes your heart rate, the live ticker you can't stop watching, the speed readout that turns every drive into an audit. The category leader's pitch is peace of mind; the mechanic is the opposite.
North is my attempt at the same utility with the incentive inverted. And as I wrote while building it: the hardest decision wasn't any of the tech — it was deciding what NOT to show. Leaving features out is the whole product.
The refusals
No live tracking ticker. A constantly-animating dot is a slot machine — it manufactures the watching behavior it claims to serve. North shows where people are when you look, honestly timestamped, and is architecturally demand-driven rather than always-streaming. The product is "they're fine," not "watch them move."
No speed display. Speed is the single most surveillance-coded number a family app can show — its only realistic use is confrontation. North computes motion (it needs to, for activity classification) and shows "driving," a state, instead of 87 km/h, an accusation. Same data, opposite relationship.
No battery levels for other members. It reads as caring and lands as monitoring — another number to interrogate ("why was your phone on 4%?"), another obligation to manage on someone else's behalf. If a phone goes dark, the reconnect machinery handles it between the app and its owner — nobody else needs the telemetry.
No precise location without consent — structurally. Members can share a ~1.1 km blurred position, and the blur happens on-device, so the precise coordinate never exists server-side to be leaked or quietly un-blurred later. Refusals you enforce with architecture survive future product meetings; policies don't.
No fear-based copy. Every line of a location app's marketing wants to be "always know where your family is" — protection sold by invoking threat. Rewriting North's waitlist page meant deleting that sentence in a dozen disguises and writing calm, low-pressure copy instead. The push notifications got the same treatment: a curated library of warm presets, because tone at the interrupt layer is the product experience.
Why subtraction is the actual work
Each refusal was harder than implementing the feature would have been, for a structural reason: features have advocates; absences don't. A speed display is a ticket, a diff, a checkbox in a comparison table. Its harm — the fight it starts in someone's kitchen — never files a bug report. The discipline isn't knowing the harm exists; it's holding the line when the feature would be easy, competitors have it, and a user literally requests it.
The test I converged on: does this feature serve the watcher or the watched? Healthy family-app features serve both — geofenced arrival notices reassure parents and spare kids the where-are-you text. The features I cut all failed it the same way: value for the watcher, extracted from the watched. That asymmetry is the entire difference between a connection product and a surveillance product wearing one's clothes.
Honesty as the replacement feature
What fills the space those features vacated is candor. The app says "last seen 2 hr ago" instead of faking liveness. Pausing is loud and legitimate rather than secretly logged. Nudges say who wants what. It turns out an app that admits the limits of what it knows is more reassuring than one that performs omniscience — because the performance always cracks, and each crack teaches the family the app lies.
None of this is a business-model innovation — it's just product design done with the user's nervous system in scope. But in a category whose defaults are this bad, restraint is differentiation. The roadmap that matters most is the one of things you'll never build.