Inspiration
A friend suffered from their house being damaged due to a severe hurricane and struggled with documenting proof of their lost and/or damaged property. Additionally, Insurance companies are very persistent with personal property claims related to hurricanes and house burnings, requiring a high burden of proof. So, we wanted to develop a solution that makes documentation more accessible and efficient for users
What it does
Our app allows users to insert before and after images of incidents, which the app compares through object recognition to document missing items, which are stored in a database, and Google Gemini to estimate the prices of those items. It then creates a list of missing items along with their price estimates and total cost in damages, and allows users to print the list in a PDF format to send to insurance companies.
How we built it
We built our project with significant help from AI coding assistants, such as GitHub Copilot and ChatGPT, to enable the rapid learning, development, and deployment of our app, along with Sora, which generated mock images, and Lovable, which created a starter template for our UI/UX design. We chose a TypeScript + React frontend hosted on Vercel with a Python + FastAPI backend hosted on Render and utilized various tools to develop our application, including: SQLite to store uploaded photos and track missing items, OpenCV for image processing, YOLOv8 for object recognition, and Google Gemini API to give price estimates.
Challenges we ran into
The first challenge was image recognition via OpenCV and YOLOv8, as we've never used software like this before, and it was difficult to wrap our heads around at first. The second challenge we faced was using image recognition in conjunction with price estimation, and after weighing our options, we decided on YOLO + OpenCV for image recognition and processing, along with Google Gemini's detailed object detection for price estimation. In addition, we also had trouble understanding how to implement Google Gemini and converting between data types. Lastly, we had issues with data persistence on the frontend, causing items to be wiped, which we resolved by implementing SQLite as our database. These, among other smaller obstacles, were the major challenges we faced.
Accomplishments that we're proud of
We are proud that we were able to create and deploy a working full-stack application and integrate technologies, specifically AI models, which we've never used before, to create a product for a real-world use case. We are especially proud of being able to properly utilize OpenCV, YOLO, and Google Gemini to digest images into data that is stored and displayed.
What we learned
Most significantly, we learned a lot about how AI models work and how they can be implemented into real-world applications. We also learned a lot about general full-stack development, including front and backend communication, and gained a better understanding that software engineering isn't just about programming but also about deciding architecture and weighing options between tools and technologies before implementing an app.
What's next for Gainesville Gangsters
We will definitely continue working on this project as we believe there are many more features and ideas to be implemented in order for it to become a complete application. Additionally, we believe that many things can be refactored or added to our app to scale into a larger and more viable product.
Built With
- chatgpt
- copilot
- cursor
- fastapi
- gemini
- lovable
- opencv
- python
- react.js
- restapi
- sora
- sqlite
- typescript
- yolov8
Log in or sign up for Devpost to join the conversation.