Location intelligence

Every technology. One canonical fix. No lock-in.

WillowCreek doesn't sell you a positioning engine. It consumes the one you already own. Every technology attaches through an adapter, every position normalises to one canonical fix, and every fix carries enough honesty about itself to be trusted or discarded.

The adapter seam

One fix, whatever produced it

Positioning vendors speak incompatible dialects: different schemas, different units, different ideas of what a "position" even is. The adapter seam absorbs that variety so nothing above it ever has to. Normalisation is proven across two independent vendor dialects in the lab. Both resolve to the identical canonical object, and every consumer above the seam is untouched by which vendor produced it.

The canonical fix carries five things

  • Identity. Who or what this position belongs to: a person or a thing, never a bare device.
  • Position. Site, floor, zone or coordinate, at whatever resolution the source honestly supports.
  • Quality. How much this fix should be trusted, stated rather than implied.
  • Freshness. How old the observation is. A perfect position from four minutes ago is a different claim from one made a second ago.
  • Provenance. Which source produced it, traceable to the raw message. Every fix can answer "says who?"

Adapters are first-class

  • Replaceable. Deployed, upgraded and rolled back without touching the platform.
  • Health-checked. Continuously supervised, visible at site, tenant and provider level. An adapter with no endpoint reports unconfigured, never healthy.
  • Never metered. No per-adapter charge, ever. An adapter is work we do with you, not an item picked from a shelf.

The adapter approach in full →

Technology classes

Consumed through adapters, not built in

These are the technology classes the architecture consumes through its adapter seam. The platform takes resolved fixes from the engine you run. It doesn't care which radio produced them.

BLE angle-of-arrival

High-precision indoor positioning from AoA locator arrays.

BLE RSSI

Zone-level presence from signal strength, and honest about being zone-level.

UWB

Ultra-wideband ranging where fine indoor precision is the requirement.

Wi-Fi

Positioning from the wireless estate a site already operates.

RFID

Chokepoint and portal reads. Knowing something passed a door is a position too.

GNSS

Satellite positioning outdoors, from handsets and vehicle or lone-worker devices.

Dead-reckoning

Carrying a track through the gaps between fixes, marked as inferred, never dressed up as observed.

Your engine stays the expert

Multilateration and AoA resolution stay in the positioning engine. The platform consumes resolved fixes and leaves the radio domain to the engine that knows it.

Continuity

One person, one history, indoors and out

Concurrent heterogeneous feeds at one site resolve to a single continuous position history per subject. A nurse tracked by BLE inside the building and by GNSS in the carpark is one person with one track, not two records in two systems with a gap at the door. The seams between technologies are the platform's problem, not the operator's.

That continuity is what makes the safety runtime work: a duress carries the person's position with it, whichever technology happened to be the best witness at that moment.

Arbitration & gating

The right room rather than a confidently wrong dot

Every fix competes, and the winner explains itself

When several sources claim to know where someone is, the platform scores the candidates and arbitrates, with hysteresis, so a position doesn't flap between sources on every packet. Confidence and staleness gating sit in front of everything: a stale or low-confidence coordinate is demoted to the coarser zone the platform can still stand behind. The platform prefers a coarser known zone to a confidently wrong coordinate. The right room rather than a confidently wrong dot.

Arbitration is explainable. Which source won, what it scored, and why the alternatives lost is recorded with the selection, so "why did the map say that?" always has an answer.

BLE AoA fix high quality · fresh Wi-Fi fix low quality · fresh GNSS fix stale · age-marked Arbitration scored candidates hysteresis · gating Published one position one reason recorded stale or low-confidence fixes demote to the coarser zone the platform can still stand behind

Candidates are scored, gated and damped, and the selection records its own reason.

Identity-first

We track the person, not the gadget

The platform reasons about people and things. Devices are plumbing: bound to an identity, swapped without ceremony, and kept out of sight.

  • You never see a MAC address. Operators see names, roles and things, not device identifiers. The tag inventory is an administrative concern, not an operational one.
  • Any number of devices, one identity. A badge, a handset and an access card can all position the same person, and the history stays one history.
  • Unregistered tags are positioned anonymously. A tag with no bound identity still appears, as an anonymous tag, with no invented name attached.
  • Identity binding is an explicit act. A person and a device are joined by an authorised action that is audited. The platform never guesses the pairing.
No rip-and-replace

Keep the hardware you already own

WillowCreek is ingest-first. It doesn't compete with your positioning engine; it consolidates on top of it. That is a structural position, not a slogan. Because the platform doesn't sell positioning hardware, it never has a reason to push you toward any particular vendor, and consolidation never quietly becomes a new lock-in. The architecture is vendor-agnostic; every technology attaches through an adapter and normalises to one canonical fix.

The supervision layer then watches every feed with the platform's own liveness clock. When a vendor system goes quiet, you get one honest infrastructure alarm, not silence and not a storm.

The integration burden sits with the platform, not with your other vendors. Adapters are included, never metered, and built as work we do with you. How integrations work →

The seam, drawn

Two dialects in. One fix out.

Vendors do not agree on the shape of a position. Below the seam a payload keeps its vendor form; above it, the same physical point arrives as the identical canonical fix whichever engine produced it. That equivalence is verified by test across two deliberately incompatible dialects.

An illustration of the contract, not a live feed. Nothing above the seam knows which vendor produced a position, which is what makes changing engine a configuration exercise rather than an application rewrite.

Try it

Age the fix. Watch it refuse to guess.

Most platforms keep painting the last coordinates they were given. Drag the age of this fix past its threshold and the platform stops drawing a dot and names the zone instead.

Ward 4W
Age
4s
State
trusted
Reported as
Ward 4W, bay 2, with coordinates

The threshold shown is the shipped default of thirty seconds, and it is measured on the positioning engine's own clock so a clock difference cannot invent staleness. A duress raised on an untrusted fix names the zone and carries no coordinates, because a duress naming a room the person has left is worse than one naming no room.

The transition

One track, across the front door

Outdoors a satellite fix is loose. Indoors, angle of arrival is tight. A worker walking from the car park into a ward crosses between them, and the platform arbitrates which source is authoritative rather than showing two half tracks or a gap.

Source
satellite
Authority
satellite is authoritative
Reported as
Car park, north

An illustration of the mechanism. The engine scores every candidate source on accuracy, freshness and continuity, applies hysteresis so the position cannot flap between them, and records which source it chose and why. The ring shows the fix loosening and tightening across the handover; it carries no distance, because we have not measured this platform's location accuracy and will not put a number on it until we have.

Bring the positioning system you already have

An hour with your floor plan and your hardware list. We will show you what one canonical fix looks like.