Phase C preview built from illustrative demo data — not live telemetry

License plate recognition with evidence in every read.

Inspect per-character alternatives, keep one response schema across REST, WebSocket, and MQTT, and choose cloud, on-prem, or edge deployment paths from the same product surface.

PraxisEdge control center (demo)

Live-feel dashboard · static demo data

Sign in to see yours

Reads today

14,284

+8.4% vs 7d median

Exact match, 24h

92.9%

+0.4pp vs 7d median

GPU p50 latency

36 ms

stable

Active sites

4 / 4

no offline regions

Recent reads

top of the feed
  • 7XKL982USGate 1 · cam-01
    93.2%accept
  • AR-543-YHEUGate 2 · cam-02
    92.1%accept
  • 品川330ASIAGate 3 · cam-03
    91.0%accept
  • 2PVL117USGate 4 · cam-04
    89.9%accept
  • BX-771-LAEUGate 1 · cam-05
    88.8%accept
  • 9QDM045USGate 2 · cam-06
    87.7%accept

Fleet health

4 sites · 24 cameras
  • US-East

    Westbound gate

    6/6 online

  • US-East

    North harbor lot

    6/6 online

  • US-West

    Civic center east

    5/6 online

  • EU-West

    Parkway entrance

    5/6 online

Read evidence

Show the plate string and the uncertainty behind it.

This card renders one frozen sample from the marketing demo dataset with per-character confidence and alternatives visible.

illustrative demo data — not live telemetry

USGate 1 · cam-01
Accepted · 93.2%
7
96%
  • 021%
  • O9%
X
95%
  • 821%
  • B9%
K
93%
  • 121%
  • I8%
L
92%
  • 520%
  • S8%
9
90%
  • Z20%
  • 78%
8
96%
  • Q21%
  • O9%
2
95%
  • 021%
  • O9%
Per-character alternatives are part of every response, not just this demo.

Integration paths

Start with REST, then move streaming traffic without changing parsers.

The transport diagram keeps REST, WebSocket, and MQTT on the same response shape.

One schema, three transports

REST · WebSocket · MQTT → one inference ledger

platform/spec: shared response shape

Integrations start simplest on REST and can move streams without changing the response parser.

Model visibility

Track exact-match and label-coverage trends in context.

The chart uses a synthetic 30-day window and marks a preview deploy annotation from demo data.

Accuracy, 30 days

Exact match · label coverage

Synthetic 30-day window with a deploy annotation where v2.3 landed.

Exact: 93.8%Coverage: 92.8%
Exact matchLabel coverage

Developer workflow

A quick request should return a readable response.

The terminal pairs a curl shape with a sample ReadResponse drawn from the frozen demo dataset.

zsh · praxisedge

Request

curl --silent https://praxisedge.ai/v1/read \
  -H "authorization: Bearer $PRAXISEDGE_API_KEY" \
  -H "content-type: image/jpeg" \
  --data-binary @plate.jpg

ReadResponse

{
  "plate": "7XKL982",
  "decision": "accept",
  "confidence": 0.932,
  "region": "US",
  "captured_at": "2026-04-20T18:00:00.000Z",
  "per_character": [
    [
      {
        "char": "7",
        "confidence": 0.96
      },
      {
        "char": "0",
        "confidence": 0.211
      },
      {
        "char": "O",
        "confidence": 0.086
      }
    ],
    [
      {
        "char": "X",
        "confidence": 0.945
      },
      {
        "char": "8",
        "confidence": 0.208
      },
      {
        "char": "B",
        "confidence": 0.085
      }
    ],
    [
      {
        "char": "K",
        "confidence": 0.93
      },
      {
        "char": "1",
        "confidence": 0.205
      },
      {
        "char": "I",
        "confidence": 0.084
      }
    ],
    [
      {
        "char": "L",
        "confidence": 0.915
      },
      {
        "char": "5",
        "confidence": 0.201
      },
      {
        "char": "S",
        "confidence": 0.082
      }
    ],
    [
      {
        "char": "9",
        "confidence": 0.9
      },
      {
        "char": "Z",
        "confidence": 0.198
      },
      {
        "char": "7",
        "confidence": 0.081
      }
    ],
    [
      {
        "char": "8",
        "confidence": 0.96
      },
      {
        "char": "Q",
        "confidence": 0.211
      },
      {
        "char": "O",
        "confidence": 0.086
      }
    ],
    [
      {
        "char": "2",
        "confidence": 0.945
      },
      {
        "char": "0",
        "confidence": 0.208
      },
      {
        "char": "O",
        "confidence": 0.085
      }
    ]
  ]
}
Shape is the same over REST, WebSocket, or MQTT. See /docs/quickstart for the full response schema.

Deployment modes

Choose cloud, on-prem, or edge without changing the response schema.

Each mode keeps the same integration contract while matching different infrastructure boundaries.

Cloud API

Hosted at praxisedge.ai/v1

  • REST, WebSocket, and MQTT share one response schema
  • Metered reads, display-once API keys
  • Managed detector, OCR, eventing, and ledger

On-prem stack

Docker Compose bundle, your network, your hardware

Most popular
  • Same API and dashboard as the hosted plane
  • Postgres, Redis, ClickHouse, MinIO, NATS, Mosquitto
  • Weights SHA-verified at load

Edge

Near-camera deployment, scoped per site

  • Shared response schema with cloud and on-prem
  • MQTT QoS 1 retry with deduplication
  • Jetson appliance packaging remains roadmap

Evaluate the API shape before wiring cameras.

Start with docs and demo responses, then contact the team when you are ready to scope a site or deployment mode.