DEV Community

xchira
xchira

Posted on

Hacktoberfest week 2 DEV Challenge

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

What I Built

LocalLedger AI — A Private AI Assistant for Freelancers
Freelancers and independent consultants often spend hours organizing receipts, extracting invoice details, and preparing expense reports. Doing all of this manually is tedious, while sending sensitive financial documents to cloud-based AI services can raise privacy concerns.
I'm building LocalLedger AI, a local-first invoice and receipt organizer designed to make expense management simpler
The goal is to let users upload invoices, extract important information such as vendor names, dates, totals, and taxes, categorize expenses, and export the results to a spreadsheet.
The target users are freelancers, independent consultants, and small business owners who want to spend less time on paperwork.
The business idea is simple: build an affordable tool that saves people time while keeping their financial documents under their control

Code

LocalLedger AI

A private, offline-first invoice and receipt processor built with Python and Streamlit.

Features

  • Local PDF Processing: Reads and extracts text from invoices/receipts using PyMuPDF.
  • Privacy First: Files never leave your local machine.
  • Streamlit Interface: Clean, simple web UI for uploading documents and downloading parsed text.

Setup & Running

  1. Clone the repository:

    git clone <YOUR_REPO_URL>
    cd localledger-ai
    Enter fullscreen mode Exit fullscreen mode
  2. Create and activate a virtual environment:

    python -m venv .venv
    # Windows:
    .venv\Scripts\activate
    # macOS/Linux:
    source .venv/bin/activate
    Enter fullscreen mode Exit fullscreen mode
  3. Install dependencies:

    pip install -r requirements.txt
    Enter fullscreen mode Exit fullscreen mode
  4. Run the application:

    streamlit run app.py
    Enter fullscreen mode Exit fullscreen mode

    Open your browser at http://localhost:8501.




How I Built It

I'm taking an incremental approach, starting with a working Python application that accepts PDF invoices and extracts their text.
The planned architecture includes:
Python and Streamlit: A simple interface for uploading and reviewing documents.
PyMuPDF: Extracts text from PDFs.
Ollama and an open-weight language model: Process extracted text locally and identify invoice fields.
Tesseract OCR: Adds support for scanned receipts and image-based documents.
SQLite: Stores verified expense records locally.
Pandas: Helps generate CSV expense reports.

Why Does Open Innovation Matter?

For this project, open innovation is about more than using an open-source library. It's about giving users greater control over how their financial information is processed.
Privacy by design: Running inference locally means invoices don't need to be sent to a third-party AI API. This is particularly important for freelancers handling client and financial information.
Lower ongoing inference costs: A local model avoids per-request API charges, which could make the economics of an affordable product more sustainable. Local hardware and maintenance still have costs, of course.
Freedom to experiment: I can replace the model, compare its extraction quality, and adapt the processing workflow without depending on a single provider's pricing or API.
Offline potential: Once the application and model are installed, the core workflow can be designed to operate without an internet connection.
A more accessible business model: Instead of building a product that becomes more expensive every time a customer processes another document through a paid API, I can explore a low-cost subscription or one-time license.
I don't expect a local model to outperform every closed model at every task. The advantage I'm exploring is the combination of privacy, flexibility, and predictable inference costs for a specific problem.

My First User

I'm looking for a freelancer or independent consultant willing to test the tool on a batch of invoices and receipts.
My goal is to measure whether it saves time, understand which fields need manual correction, and find out whether someone would pay for it.
I'll update this section after the first real user test with their feedback and the results.

Prize Categories

Top comments (0)