Axion Platform Architecture¶
Welcome. This site documents the architecture of the Axion Platform — three product surfaces (Sense for road-infrastructure data collection, Vision for ML enrichment, and Gen for self-service analytics) on a shared infrastructure plane.
What's here¶
The site follows the C4 model: each level zooms one step deeper.
| Level | Page | What you see |
|---|---|---|
| L1 Context | System Context | The platform as one bubble, surrounded by actors and external systems. |
| L2 Containers | Platform Containers, Sense Containers, Gen Containers | Frontends, backends, and infrastructure as a single picture. |
| L3 Components | Sense API, Sense Worker, Gen API | What's inside each backend. |
| Flows | Frame upload + ML, PMTiles, Citylens migration, Citylens realtime | End-to-end sequence diagrams. |
| Infrastructure | Postgres, ClickHouse, Kafka, OpenFGA, Object Storage, Valhalla, Observability, Ingress | Pinned versions, schemas, topics, retention. |
| Runtime | Resource Quotas, Versions, Network | What you need to run it. |
| ADRs | Index | Why we made the non-obvious decisions. |
Three audiences, three entry points¶
- Engineer onboarding to Sense, Vision, or Gen → start with Business Context, then the relevant L2 (Sense, Vision, or Gen Containers), then the L3 components for the service you'll work on.
- Operator / SRE → jump to Deployment Topology and the Infrastructure section.
- Partner integrating with the platform → Contracts (proto interfaces) plus the relevant flow page.