Entry control and license plate recognition
autogate recognizes vehicle plates right on site, records arrivals, departures and time at a checkpoint, then reliably delivers events to your server. One dashboard covers every location and post, while a REST API with Swagger supports integrations. Your infrastructure, no cloud subscriptions.
Recognition, visit tracking and integrations
The station sees a plate and records a vehicle at the checkpoint. The server collects events from every location and makes them available to people and connected systems.
License plate recognition (ANPR)
A YOLO plate detector and PaddleOCR run in ONNX Runtime directly inside the station process. It reads vehicle plates and returns the result with confidence and alternatives.
Arrival, departure and time on site
Arrival and departure events form a visit: when the vehicle came, when it left and how long it stayed. A timeout departure is clearly marked for review.
Multiple checkpoints and cameras
One station serves several checkpoints—entry, exit or service bays—with each camera treated as its own post. The server organizes visits by location and checkpoint.
Reliable event delivery
A local SQLite outbox retries delivery and deduplicates by eventId. If the network or server is unavailable, the station queues events and sends them later—without loss or duplicates.
Dashboard: locations → checkpoints → visits
The server dashboard lists locations, then their checkpoints and visits for a date. Plate, checkpoint, arrival, departure, duration and status appear in one clear table.
REST API + Swagger
Other products receive events through REST: filter visits by location, checkpoint, plate and date with pagination. Full interactive documentation is available at /swagger.
One binary and config.json
The station and server are self-contained binaries with built-in React interfaces. Configure a station in one config.json: location, server, checkpoints and cameras.
Standard IP cameras
Works with standard IP cameras over MJPEG/HTTP streams. For demos and tests, the autogate-ip-cam emulator provides video as an MJPEG stream.
Self-hosted and private
The whole stack runs on your infrastructure: stations on site, server and PostgreSQL in your network. Plates and visit records do not leave for the cloud.
Two components, one workflow
The station recognizes vehicles on site; the server collects events from every location and provides analytics and an API.
autogate-station
A service-centre or checkpoint station connects to cameras, recognizes plates in real time and records vehicle presence. One binary includes the built-in control-window web interface.
- In-process ANPR on ONNX Runtime (build with
-tags onnx) - Presence detection by movement or by plate visibility
- Arrival/departure events with a frame image and confidence
- SQLite outbox: guaranteed delivery to the server
autogate-server
The central server receives events from every station, stores them in PostgreSQL, shows a dashboard and provides a REST API. One binary includes the React dashboard and Swagger UI.
- Idempotent event ingestion with an access key
- Join arrivals and departures into visits with duration
- Dashboard: locations → checkpoints → visits by date
- REST API + Swagger at
/swaggerfor integrations
See it in action
Real autogate screens: the server dashboard, checkpoint visits, the station control window and API documentation. Data is from the live demo environment.
Every location on one screen
The server lists locations such as service centres and checkpoints, showing post count, visits today and last activity. Open a location to see its checkpoints and visits.

Who arrived, where and for how long
Inside a location, visits are grouped by checkpoint for a selected date: plate, entry/exit post, arrival, departure, time on site and status. Filter by post or date and view summary metrics.

On-site control window
The station web interface shows checkpoint camera status in real time: stream status, FPS, processed frames and current vehicle presence. You can see recognition happening live.

Open REST API with Swagger
The /swagger page documents every method: event ingestion and paginated visit queries by location, checkpoint, plate and date. Other products can retrieve all event data through the API.

From frame to event
The station takes a camera frame, finds the plate with a detector, reads characters with OCR and decides whether a vehicle is at the checkpoint. It appears—arrival; it disappears—departure. The event enters the outbox and is reliably delivered to the server.
- YOLO plate detector + PaddleOCR in ONNX Runtime
- Presence by motion or visible plate (for stationary vehicles)
- Plate width and confidence thresholds with frame quality checks
- Idempotent event delivery: at least once, no duplicates
frame post-1 → 1280×720, 30 fps
detect plate → 1 item · w=88px · conf 0.94
ocr characters → H743HE31 · conf 0.89
→ presence(vehicle at checkpoint) # appeared
→ event(vehicle_arrived) # to outbox
→ deliver(POST /api/v1/vision/events)
✓ visit created on server
From camera to analytics
Checkpoint cameras
IP cameras at entry, exit and service bays provide the video stream.
Station (ANPR)
Recognizes the plate, records arrival/departure and puts events into the outbox.
Server + PostgreSQL
Receives events, joins visits and stores them in the database.
Dashboard + API
A location-and-checkpoint dashboard plus a REST API with Swagger for integrations.
Install the station on site
One binary and a config.json: set the server address, location and camera checkpoints. The station connects to cameras and starts recognizing plates.
Deploy the central server
Run the autogate-server binary with PostgreSQL. Stations send events to it over REST with an access key; the server collects them from every location.
Review visits and integrate
Open the dashboard for locations, checkpoints and visits by date. Other systems retrieve events through the REST API with Swagger by location, checkpoint, plate and date.
Automate entry control
Deploy autogate on your own infrastructure: stations on site plus a server and dashboard in your network, with plate recognition, visit tracking and an open API.