Inspiration
The idea for HaveIBeenTowed came from a real experience. When my father and I first came to the United States, we stayed at a park past its allowed hours. When we came back, our car was gone.
We did not know it had been towed, so our first thought was that it had been stolen. We ended up calling the police before eventually finding out what had happened.
That experience made us realize how unclear the towing process can be. Signs, stickers, and paper notices are not always reliable because they can be missed, removed, damaged, or blown away. We wanted to create a system that could automatically record towing events and make that information easier for drivers to find.
What it does
HaveIBeenTowed uses computer vision to detect vehicles and license plates during a towing event.
The idea is for a camera to be placed on a tow truck. When a car is being towed, the system processes the video, identifies the vehicle and its license plate, and uploads that information to a database.
A driver could then search their license plate on our website and find out whether their vehicle was towed.
We also plan to add an SNS notification feature so users can register their license plate and phone number and receive a text message if their vehicle is detected being towed.
How we built it
We built the project using a combination of computer vision, backend processing, and a web frontend.
For the computer vision side, we used Python, YOLO, and OpenCV to process video and detect vehicles and license plates.
Our basic pipeline is:
Video -> Vehicle Detection -> License Plate Detection -> Plate Recognition -> Tow Record
The backend handles uploaded videos and connects the computer vision results to the website.
On the frontend, users can upload videos for testing, view detection results and snapshots, and search for towing information.
Instead of training a computer vision model completely from scratch during the hackathon, we focused on integrating pretrained models and building the logic around them to create a working prototype.
Challenges we ran into
One of our biggest challenges was identifying which vehicle in the video was actually being towed.
A tow truck can pass many vehicles, so detecting every visible license plate would create incorrect results. We had to think about how to distinguish the vehicle being towed from unrelated vehicles in the background.
License plate recognition was also difficult because plates can be blurry, small, partially blocked, moving quickly, or viewed from difficult angles.
Another major challenge was integrating the different parts of the project. We had to connect the computer vision pipeline, backend, video uploads, saved detection results, and frontend within a limited amount of time.
Accomplishments that we're proud of
We are proud that we were able to turn an idea based on a real problem into a working prototype during the hackathon.
We successfully built a computer vision pipeline that can process towing footage, detect vehicles and license plates, and connect those results to a web application.
We are also proud that the project has a clear real-world use case. Instead of building computer vision just as a demonstration, we tried to apply it to a problem that people actually experience.
What we learned
One of the biggest things we learned is that getting an AI model to detect something is only one part of building a complete product.
We had to think about how the video enters the system, how detections are filtered, how results are stored, and how users actually interact with that information.
We also learned more about Python, YOLO, OpenCV, video processing, frontend and backend integration, and working together under a short deadline.
Most importantly, we learned that accuracy matters a lot for a system like this. A false license plate detection could create an incorrect towing record, so filtering and verification are important parts of making the system practical.
What's next for HaveIBeenTowed
The next step is to make the system more automatic and closer to something that could be used in the real world.
We want to add SNS text notifications so users can be notified immediately when their registered license plate is detected.
We also want to add GPS information showing where a vehicle was towed, improve license plate recognition, reduce duplicate and false detections, create dashboards for towing companies, and support real-time uploads directly from tow trucks.
Our long-term goal is simple: if your car gets towed, you should be able to find out what happened immediately instead of wondering whether it was stolen.
Log in or sign up for Devpost to join the conversation.