Working prototype with a real physical barrier
SmartPark: AI License Plate Recognition Parking System (YOLO + PaddleOCR on Raspberry Pi)
SmartPark is an AI-IoT parking system: a Raspberry Pi runs YOLO plate detection and PaddleOCR on the device, and a verified plate opens a real boom barrier automatically. I was the sole developer on a 3-member team, and the system pairs the edge pipeline with a full multi-role web dashboard.
- ~99%plate detection accuracy
- 90%+OCR accuracy
- ~3xfaster inference (ONNX → NCNN)

Watch it work
The problem
Manual gate checks are slow and hard to audit, and cloud-only ANPR needs a constant connection and adds latency at exactly the moment a driver is waiting. Local plate formats also trip up generic OCR models.
The solution
Recognition runs on the edge device, triggered by a sensor rather than continuous video. A two-stage vision pipeline (YOLO to locate the plate, then a cropped hand-off to an optimized PaddleOCR model) reads the plate, the server verifies it, and GPIO signals drive the barrier. Models were converted from ONNX to NCNN for roughly 3x faster inference on the Pi.
Key features
Event-driven resource optimization
The Raspberry Pi stays idle until a sensor detects a vehicle, then captures exactly 3 frames, avoiding continuous compute overhead.
Dual-stage vision pipeline
A custom-trained YOLO model isolates the plate, the bounding box is cropped to remove background noise, and an optimized Mobile PaddleOCR variant reads the refined segment.
Hardware actuation and sync
After server verification the Pi fires GPIO signals to a relay module that drives a modified wiper-motor barrier, with a 10-second cool-down auto-close.
MLOps loop
Custom YOLO checkpoints run inside CVAT to pre-label new images, and LabelOCR generates training data to fine-tune PaddleOCR for non-standard local plate formats.
Multi-role web dashboard
Super Admin, Admin, Staff and End-User roles, with OTP email verification, live registration queues and camera/gate management.
Immutable logging and auditing
Multi-indexed telemetry logs track timestamp, date and gate location ID across every entry and exit event.
Role-based access on the web platform
- Super Admin (L4): full system auditing, cross-gate authorization and global configuration.
- Admin (L3): manages live registration queues for users and vehicles, activates or deactivates cameras and gates, and edits dynamic lookups such as registration expiry limits.
- Staff (L2): handles gatekeeping logs, manual verification overrides and entry-point tracking.
- End users (L1): onboard with OTP email verification, request vehicle registrations, manage removals and check their own logs.
My role
Sole developer of a 3-member team: vision pipeline, edge deployment, barrier control and the web platform.
Tech stack
- YOLO
- PaddleOCR
- ONNX
- NCNN
- Raspberry Pi
- Python
- Node.js
- Express
- MongoDB
- Prisma
- CVAT
Web dashboard

Work like this for your team
Building something similar?
I'm open to remote React Native roles worldwide and to projects in Rawalpindi, Islamabad and across Pakistan.