A detector alone does not make a useful parking product. It needs calibrated spaces, state interpretation, event delivery, storage, and a clear surface for operations teams.
What had to work beyond the model.
Uses parking-slot polygons and object detection to reason about occupancy.
Includes WebSocket-oriented delivery for current events and changing state.
Pairs the vision pipeline with analytics APIs, storage, and a React dashboard.
How the pieces connect.
- 01Camera input
Media or camera frames enter a vision path that can use YOLOv8-compatible detection with an OpenCV fallback.
- 02Space semantics
Calibrated slot polygons convert vehicle detections into the state of specific parking spaces.
- 03State + events
Hysteresis and debounce guard state transitions before auditable occupancy events are emitted.
- 04Operations surface
FastAPI, WebSocket delivery, storage boundaries, and a dashboard turn detection into usable operational context.
Choices that make the system usable.
- 01
Made calibration a first-class part of the workflow because the product needs to understand individual spaces, not merely detect cars.
- 02
Used a six-state vocabulary—free, occupied, unknown, blocked, reserved, and maintenance—so weak evidence does not silently become a false occupancy claim.
- 03
Connected inference to APIs and live events only after state stabilization, so raw detections can become operational signals.
- 04
Kept the platform boundary clear: vision, service layer, data storage, and dashboard each have a distinct job.
How the work can be inspected.
- The local PKLot setup defines 100 calibrated parking spaces for repeatable development and inspection.
- The dashboard is designed to refresh current data every three seconds while WebSockets carry changing state.
- The explicit unknown state preserves uncertainty when camera evidence is not strong enough to classify a space.
The live runtime state is currently local and in-memory. SQL migrations exist, while durable workers, RBAC, and object-store retention remain deployment work rather than claimed production features.