The Splitty Chronicles: A Technical Deep Dive

The Problem

I identified a recurring friction point: splitting restaurant bills when diners order different items, quantities, or prices. While I initially used Plates by Splitwise, I wanted to eliminate the manual data entry process.

After using Plates, I found it was frickin game changing—no more complicated math, instead a cute app that made splitting the bill after a dining experience easy. But it required a lot of inputting numbers and dragging items around.

The problem with Plates was that most of the work in splitting the bill was just having to input all of the items into the app. Why couldn’t it just take a picture of the receipt and make things easy?

My vision was simple: hold your camera up to a receipt and voila—things just work!

Technical Architecture

Receipt Detection

The app employs a multi-stage approach:

  1. Rectangle Detection: Rather than training a dedicated receipt-finding model, Splitty identifies rectangles in the camera frame and selects the most probable candidate.

  2. Image Transformation: It compensates for angled photos by skewing quadrilaterals into rectangles, leveraging built-in iOS functionality.

Text Recognition & Analysis

The process follows this sequence:

  • OCR: Uses Apple’s existing optical character recognition capabilities
  • Spatial Organization: Groups text by geometric position on the receipt
  • Classification: A custom machine learning model trained on thousands of receipts categorizes each line as: item, subtotal, tax, tip, total, or other

The model achieved ~98% accuracy—significantly better than rule-based approaches.

Key Challenges

I discovered receipts are governed by a multi-hundred page document of US regulations, with variations depending on point-of-sale systems. This complexity made programmatic parsing substantially harder than anticipated.

User Experience Features

  • Venmo integration for payment processing
  • Drag-and-drop item assignment among diners
  • Automatic shared item splitting

Status

Published April 2020 during COVID-19, the project was paused to gather real-world restaurant feedback once dining reopened.

Update: splitty is now live on the App Store and has helped thousands of people split bills with friends.