applications Case Study

PiSplit

OCR-driven expense workflow that converts receipts into itemized splits, balances, and reimbursement tracking.

Status Active System (v1 Live) Runtime Dockerized household expense application running on internal homelab infrastructure. Role Builder / Operator
PiSplit cover image

Overview

PiSplit is a self-hosted household expense workflow designed to make shared purchases easier to capture, review, and settle. It combines receipt upload, OCR extraction, itemized review, and balance tracking so expenses can be recorded without relying on third-party consumer finance apps.

Problem

Shared expenses are easy to forget, frustrating to split manually, and especially messy when a single receipt includes both shared and personal items. I wanted a private workflow that could ingest a receipt photo, extract line items, assign participants, and maintain running balances across the household.

Architecture

  • Input Layer
    • Phone upload
    • Web UI
    • Receipt images
  • Processing Layer
    • Tesseract OCR
    • receipt parsing
    • AI-assisted analysis
  • Application Layer
    • FastAPI service
    • expense creation
    • itemized split workflows
  • Persistence Layer
    • PostgreSQL
    • receipt storage
    • balances + settlements
Phone / Browser Upload │ ▼ PiSplit UI │ ▼ OCR + Parsing Layer Tesseract • receipt extraction • item detection │ ▼ Split / Review Engine participants • itemized assignment • totals │ ▼ FastAPI Backend expense creation • balances • settlements │ ▼ PostgreSQL receipts • expenses • household ledger

Public-safe architecture for the PiSplit household finance workflow.

Technology Stack

Technologies

FastAPI PostgreSQL Tesseract OCR Docker Compose Python internal web routing

Capabilities

  • Receipt upload from phone or desktop
  • OCR-based text extraction
  • Itemized expense creation
  • Household balance tracking
  • Settlement suggestions
  • Structured reimbursement workflow

Implementation

PiSplit is implemented as a Dockerized FastAPI service backed by PostgreSQL. Receipt images are uploaded through a lightweight web UI, processed with OCR, converted into candidate line items, and then reviewed as structured shared expenses with participant-specific splits.

Outcome

PiSplit reduces manual household expense overhead by turning messy receipts into a cleaner, faster workflow for review, balances, and reimbursements.

What's Next

  • Smarter receipt parsing
  • Model-assisted item classification
  • Improved phone upload flow
  • Better split suggestions