This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
Built for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
BillBuddy AI is an AI-powered receipt and invoice extractor that helps small shop owners, freelancers, and individuals simplify expense tracking.
Managing receipts manually can be time-consuming. Important information such as the vendor name, purchase date, total amount, and line items often gets lost in piles of paper receipts or scattered images.
BillBuddy AI turns receipt images into structured financial information using OCR and local AI.
โจ Key Features
- ๐ธ Receipt Image Upload: Upload receipt and invoice images for processing.
- ๐ OCR-Based Text Extraction: Uses Tesseract OCR to read text from receipt images.
- ๐ง Local AI Extraction: Uses the open-weight Gemma 3 1B model through Ollama to help structure extracted information.
- ๐งพ Financial Data Extraction: Extracts details such as vendor name, date, total amount, and available line items.
- ๐ Expense Dashboard: View extracted information and recent receipt history.
- ๐ CSV Export: Export expense data for further analysis in spreadsheet applications.
- ๐ Local Processing: Run the application and AI model locally, reducing reliance on external AI APIs.
๐ฏ Who Is It For?
BillBuddy AI is designed for small business owners, local shopkeepers, freelancers, and individuals who want a simpler way to digitize receipts and organize expenses.
It could be useful for anyone who wants to reduce manual data entry and make receipt management easier.
Demo
Local demo: The application runs locally at http://127.0.0.1:5000.
I tested BillBuddy AI with a DMart receipt image. The application extracted the receipt information and identified the grand total as โน393.55.
The project currently runs locally, so a public deployment or video demo is not available yet.
๐น Demo video: [https://youtu.be/W7rZG9yW3xQ]
Code
๐ป GitHub Repository: [https://github.com/MrAtharvaB/BillBuddy-AI]
The project is built with Python and Flask, with a frontend using HTML, CSS, and JavaScript.
The repository includes the application code, templates, styling, and configuration needed to run the project locally.
How I Built It
I built BillBuddy AI using a combination of traditional OCR, open-weight AI, and web technologies.
๐ ๏ธ Tech Stack
- Python โ Core application logic and data processing.
- Flask โ Backend web framework and application routes.
- HTML, CSS, JavaScript โ Dashboard and interactive user interface.
- Tesseract OCR โ Extracts text from receipt images.
- Gemma 3 1B โ Open-weight language model used for structured information extraction.
- Ollama โ Runs the AI model locally.
- CSV โ Exports extracted expense information.
โ๏ธ How It Works
- Upload: The user uploads a receipt or invoice image.
- Preprocess: The application prepares the image to improve OCR readability.
- Extract text: Tesseract OCR reads the text from the receipt.
- Process with AI: The extracted text is passed to Gemma 3 1B through Ollama to identify relevant financial fields.
- Fallback: If AI extraction is unavailable or unsuccessful, the application uses a fallback extraction method.
- Display: The dashboard presents the extracted details and receipt history.
- Export: Users can export their expense records to CSV.
๐งช A Real-World Test
During testing, I used a DMart receipt containing a subtotal of โน374.80 and a grand total of โน393.55.
This test helped me focus on an important challenge in receipt extraction: distinguishing the subtotal from the final payable amount. A reliable receipt extractor must prioritize explicit labels such as Grand Total or Amount Payable rather than simply selecting the first monetary value it finds.
Why Does Open Innovation Matter?
Open innovation made it possible for me to build an AI-powered application without depending entirely on a proprietary, paid AI API.
Using Gemma 3 1B with Ollama allowed me to experiment with local inference, test the application on my own machine, and integrate an open-weight model into a practical project.
Open-source tools also made it possible to combine different technologies for different tasks:
- Tesseract handles OCR.
- Python and Flask connect the components.
- Gemma helps interpret the extracted text.
- Ollama makes local model execution accessible.
- The web frontend turns the workflow into a usable application.
For small businesses and individual developers, this approach can lower experimentation costs and provide greater control over data processing.
Open innovation is not just about accessing source code or model weights. It is about having the freedom to learn, modify, experiment, and build solutions around real-world problems.
My Agent Session
This project was developed through iterative coding, testing, and debugging.
I worked on OCR extraction, local model integration, fallback handling, and the dashboard interface.
Agent session: Not available yet.
Prize Categories
Challenge: Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.
Project focus: Open-weight AI, local inference, and practical AI applications.
Add the official partner prize categories here if your project meets their published eligibility requirements.
What's Next?
Some improvements I would like to explore include:
- Better extraction accuracy across different receipt formats.
- Improved handling of taxes, discounts, subtotals, and grand totals.
- Support for more document formats and languages.
- Expense categorization and monthly analytics.
- A deployable version for easier access by other users.
Building BillBuddy AI has been a hands-on way to explore how open-weight AI can solve everyday problems.
Thanks for checking out my project! ๐
Top comments (0)