Parking Management and Control SaaS
A SaaS platform for parking management, featuring license plate recognition, integrated payments, SMS notifications, financial reporting, and a back-end panel tailored for municipalities and parking operators.
Technical stack includes:
- Backend: PHP, Symfony 2, MySQL, Redis, Memcache
- Frontend: AngularJS, jQuery, HTML5, CSS3
- Mobile: Android (Java), iOS (Objective-C)
- Computer Vision: OpenCV, OpenALPR, Tesseract
- DevOps: AWS, Docker, Kubernetes, Jenkins
The idea
Our goal was to make it easy for drivers to pay via SMS and get reminders when their paid time is ending, support attendants in checking and validating license plates, tracking car activity, and accepting cash payments, enable parking operators to oversee all on-site processes and respond effectively, and finally provide the CFO with accurate, real-time financial information for better business control.
PoC and MVP
After analyzing the client’s requirements, our team chose the safest development path by building a POC first to minimize technical risks. Initially, we focused solely on a vehicle number recognition system, and once it proved successful, we moved forward with developing the full MVP.
Plate recognition
When we started, OpenALPR’s solution didn’t meet the project’s needs in full, so we built our own plate recognition system using OpenCV. The MVP launched with our implementation, and within a year we integrated OpenALPR.
Today, the system reliably recognizes plates even from low-quality or challenging images.
Database
The database model was iteratively refined over four sprints. Built as a multi-company enterprise SaaS, it supports hundreds of users per company, including operators and attendants. Every parked car is tracked and validated by zone, car, or attendant, with storage optimized to handle massive volumes of incoming validation requests.
Provided Solution
Plate Recognition
We used OpenCV and Tesseract libraries combined with advanced algorithms to handle plate recognition efficiently.
Locating a Plate
- Using filters, histograms, and contour analysis, the system identifies the vertical position of a plate.
- License plates aren’t the only text it can detect.

Fine Crop and Noise Removal
- Plates are cropped precisely to remove unnecessary elements.
- Additional filters clean surrounding noise, preparing the image for accurate recognition.

Rotation Handling
- The system supports rotations up to 30 degrees in both directions.
- Skew is detected and corrected for precise histogram analysis.
Tesseract Teaching
To ensure accuracy, we built a large database of plate variations and trained Tesseract with all possible characters and fonts used across client regions.

Mobile Application
Choosing a parking zone
We built the mobile app for parking attendants to streamline plate validation and car management. After logging in, attendants select their assigned zone and are directed to the live camera screen.
Video stream, plate capturing, and recognition
- The video camera captures plate numbers, which the software locates and recognizes.
- Attendants can make corrections if needed.
- Once validated, they receive all car-related info from the server, including balance, remaining paid time, and notes, allowing them to accept cash or move to the next car.
Fines and payments
If the paid time has expired, attendants can issue a fine via a mobile Bluetooth printer, instantly visible in the administrative panel for full operator oversight.

Operator back-end
Using Bao, our custom back-end package built on Symfony 2, AngularJS, Bootstrap, and jQuery, we created a Google-style administrative panel for parking operators and system administrators to manage multiple companies efficiently.
Key features include:
- Fast, informative data grids to monitor all activity across parking zones.
- Bulk operations for deletions, status changes, and updates, saving time on routine tasks.
- Instant filters and sorting that work without page reload, making management smooth and efficient.
- Upcoming features include detailed reports and charts for deeper insights and operational analytics.

AI teaching
The system was designed for African countries where license plates are unique—often one or two lines and blue, unlike typical plates in the USA or Europe.
To improve recognition accuracy, we implemented the following:
- Training with open-source databases to handle local plate variations.
- Manual feedback loop: parking operators submit images of plates to the sysadmin for manual entry.
- Continuous learning: each new image improves the system’s recognition accuracy.
- Results: accuracy increased from 50% to 85%, making the system reliable for real-world use.

Get Insights from Real SaaS Builds
Enjoyed the read? We write these case studies and articles to share what works — and what doesn’t — in real SaaS delivery. Got a challenge of your own? Let’s talk tech.

Ryzhokhin