This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.
What I Built
๐งพ ReceiptPocket โ Your Expenses, Privately Managed
Receipts pile up. Expense tracking becomes tedious. And using AI to automate it can mean sending sensitive financial information to a service you don't control.
I built ReceiptPocket, a local-first, AI-powered receipt and expense organizer that helps freelancers and small business owners turn receipt images into organized expense records.
The idea is simple: upload a receipt, let AI extract the important details, review the results, and save the expense. Your receipt-processing workflow doesn't need to send your financial documents to a cloud AI service.
What can it do?
- AI-powered receipt extraction: Extract merchant names, transaction dates, amounts, and expense categories from receipt images.
- Local data storage: Store expenses in SQLite and keep receipt images on your own computer.
- Expense dashboard: View spending summaries, recent transactions, and category breakdowns.
- Expense management: Search, filter, inspect, and export saved expenses to CSV.
- Multi-currency support: Preserve original receipt amounts and currencies, convert supported expenses into a chosen reporting currency, and retain exchange-rate information.
- Manual entry: Add expenses manually when OCR or AI extraction needs help.
Who would pay for it?
I built ReceiptPocket with freelancers, independent professionals, and small business owners in mind. These users often need to organize expenses without necessarily needing a complicated accounting platform.
A potential business model could be a low-cost one-time license, optional paid setup, or ongoing support for people who prefer managing their financial records locally instead of depending on a cloud service.
I haven't yet validated willingness to pay with a paying customer. The next step is to get ReceiptPocket into the hands of real users, learn what they need, and see whether it genuinely saves them time.
Demo
Demo
๐ฅ Watch ReceiptPocket in action
Watch the ReceiptPocket demo on YouTube
In this walkthrough, I demonstrate ReceiptPocket's local AI receipt extraction, expense saving, and expense management workflow.
Code
๐ป GitHub repository: ma10-yt/ReceiptPocket
The repository contains the Python application, dependencies, setup instructions, configuration, and MIT License.
How I Built It
ReceiptPocket is built with Python and Streamlit. I wanted to keep it straightforward enough to run locally without building an entire cloud backend.
The technology stack:
- Tesseract OCR reads the text on receipt images locally.
- Qwen2.5 1.5B Instruct, an open-weight language model, runs locally through Ollama to turn OCR text into structured expense details.
- SQLite stores expense records on the user's computer.
- Babel handles locale-aware currency formatting.
- Frankfurter supplies exchange-rate reference data when currency conversion is needed.
The receipt-processing workflow looks like this:
- Upload a receipt image.
- Extract its text using local OCR.
- Pass the extracted text to the locally running Qwen model.
- Parse the response into structured expense details.
- Let the user review and correct the values.
- Save the confirmed expense to SQLite.
- View, search, filter, and export the saved record.
I also implemented manual-entry fallbacks, expense history, multi-currency support, and safeguards around currency conversion and database migrations.
I used GitHub Copilot in VS Code to help build, debug, and refine the application. During development, I worked through practical issues involving Windows OCR configuration, Streamlit reruns, reliable expense persistence, and SQLite locking during currency migration.
Testing the application taught me that getting an AI model to return a response is only one part of building a useful product. The application around it still needs validation, error handling, reliable storage, and safeguards against incorrect AI output.
Why Does Open Innovation Matter?
The central idea behind ReceiptPocket is that automating expense tracking shouldn't require handing your receipts to a cloud AI provider.
Receipts reveal personal purchases and business activity. For freelancers and small business owners, expense records can also contain sensitive commercial information.
ReceiptPocket uses Tesseract and a locally running Qwen model instead of a hosted AI API for receipt processing. The receipt image, OCR text, AI extraction, and expense database stay on the user's computer.
Open-weight models give developers flexibility, too. I can experiment with different local models, assess extraction quality on different receipt layouts, and potentially adapt the workflow without making every request dependent on a particular provider's pricing or API availability.
There is also a practical cost consideration. Once the application and model are installed, local inference avoids per-request charges from a hosted AI inference service, although it still uses the computer's processing power, memory, and electricity.
This approach has trade-offs. A small language model can misread blurry receipts, miss information, or confuse currency symbols. That's why ReceiptPocket lets users review and correct extracted details instead of blindly trusting the model.
The core OCR and AI workflow can operate offline after setup. Initial installation and model downloads require internet access, and obtaining fresh exchange rates can also require a connection. When requesting an exchange rate, the application needs currency-pair and date information; it doesn't need to upload the receipt or merchant details.
For me, open innovation is about giving developers and users greater control over their software, their data, and the technology they choose to build with.
ReceiptPocket is my attempt to apply that idea to a small but practical problem.
Prize Categories
Best Use of GitHub Copilot โ $100
I used GitHub Copilot in VS Code to help develop and debug ReceiptPocket, refine application code, and work through implementation issues.
This project gave me an opportunity to use AI-assisted development to build something functional, test the results, and iterate on the code rather than stopping at a prototype.
I'm entering this category based on my use of GitHub Copilot during development.
Thanks for checking out ReceiptPocket! If you're a freelancer or small business owner who deals with receipts regularly, I'd love to hear what you would want from a local-first expense manager.
Top comments (0)