Platform · Substrate

Address-rooted from day one.

Every CRM since 1999 roots at Account → Contact → Opportunity. Physical revenue doesn't live there — it lives at a street address, on a deployed asset. Allometry roots at Location → Asset → Pulse, and exposes it as an API, an SDK, and an MCP server.

// resolve an address to its spine recordawait allometry.locations.get({  address: "1450 Rue Sherbrooke E"})  location_id: "loc_8f2a" assets: 312 · jobs: 47 pulse: 92 · margin: 34.2%
38ms
p50 read
latency
Six
Flagships on one
data model
64+
Agents reading
concurrently
3
Interfaces
REST · SDK · MCP
Substrate · the layer everything else reads
Location → Asset → Pulse Bi-directional sync Immutable audit SOC 2 — on the security roadmap
The allometric inversion

The data model is the argument.

Root at the account and the physical world becomes an attachment. Root at the address and the physical world becomes the spine — the install teaches the invoice.

✗ Legacy · commercial-first
  • Account → Contact → Opportunity — static since 1999
  • Sites are a text field on an account record
  • Cost arrives from the ERP after the fact
  • Margin is an attribute, not a signal
✓ Allometry · physical-first
  • Location → Asset → Pulse — address-rooted
  • The address is the primary key
  • Cost, contract, and telemetry are first-class
  • Margin is a live score that drives decisions
The primitive · Three entities

Three entities. One primary key.

Everything the six flagships do resolves to these three tables and the relationships between them.

1 : N N : 1 Location location_iduuid addresstext geopoint territoryref permits[]jsonb Asset asset_iduuid location_idfk skuref installed_costmoney jobs[]jsonb utilisationfloat contract_idfk Pulse pulse_iduuid composite0-100 margin_ragenum ev_projectedmoney risk_flags[]jsonb votes[4]agent Every module, every agent, every quote resolves to these three tables. One address · one truth · one audit trail.
Three ways in

Built for humans, code, and agents.

The same substrate, three interfaces. Your engineers get an SDK, your systems get REST and webhooks, and your AI agents get a native MCP server — no scraping, no brittle glue.

REST API
GET /v1/locations/:id POST /v1/quotes GET /v1/pulse/:account webhooks · idempotent · paged
Typed SDK
allometry.assets .forLocation(id) .withPulse() TypeScript · Python · Go
MCP server
tools: score_account price_quote explain_margin native agent access
Built on the substrate
For engineering teams

Point it at one territory.

Connect a read-only slice of your CRM, ERP, and field system. We'll build the address-rooted spine for one territory and hand you API keys against your own data.