Inspiration

Initially I was going to work with a team on this application, and when we asked AI about ideas it presented the OCR project. I wanted to build one for some time since at work we are working on an OCR project. I wanted to learn more and thought that my bank had a somewhat inaccurate graphic that showed my spending. Because the bank doesn't have access to the receipt, and in many occasions the transaction doesn't reflect what the business is, the bank tries its best to guess what the purchase is about, and in many cases the cashback rewards should qualify but they don't because my purchase at a restaurant (valid for the cashback) was registered as a barbershop transaction.

What it does

My application allows the user to take a picture of the receipt or upload an image of the receipt and analyze it. The app will apply categories to it based on what it finds in the receipt. The user also has a profile and goals which he can use to ask AI for projections on how to improve the user's financials.

How we built it

I built it using the serverpod framework. I have had experience before with Flutter which helped me understand easily how to use Dart for backend. Additionally, towards the end I decided to use the Kiro IDE to accelerate development.

Challenges we ran into

Time and navigating the documentation. The AI agent helped and making a google search was also of great help. Also, initially when I wanted to work in a team the time difference proved to be an obstacle.

Accomplishments that we're proud of

I am particularly happy to come back to Flutter and work on something new using new tools. Serverpod gave me a clearer view of how databases work and familiarized me better with vocabulary I use at work but never realized the meaning behind it. For example at work we use PeopleSoft and we talk about migrations and how we use Phire to move objects from one environment to the next. During the hackathon and doing the course I learned that "database migrations provide a structured way of upgrading your database while maintaining existing data." I thought of it as just moving objects, but now I realize the importance and emphasis there is on integrity.

What we learned

I learned about Databases, Docker, Serverpod. It was a great experience that helped me realize how much I missed Flutter and the great stuff that I can build with it. I learned about endpoints, and authentication using Serverpod.

What's next for My OCR Receipt Analyzing Tool

I would like to empower the user to correct any mistake that AI may have done, like mis-categorize a receipt, order by folder category, use cache to avoid calling the db so frequently, and give the user the ability to schedule the deletion of receipts. Right now it uses soft deletion by just marking items as deleted. I would like to empower the user with the ability to schedule a deletion of receipts based on age, and also view the deleted ones and to permanently delete them.

Built With

Share this project:

Updates