Let's connect!Check out my projects!
Case Study

SlipStack

SlipStack is a native Android expense tracking and intelligent receipt scanning application. Built for secure and offline-first finance management, the app harnesses Jetpack CameraX for camera control and Google ML Kit Text Recognition to process and parse receipt images on-device, synchronizing transactions with Firebase Cloud Firestore.

Interface Gallery (Scroll & Click to Expand)

SlipStack screenshot 1
SlipStack screenshot 2
SlipStack screenshot 3
SlipStack screenshot 4
SlipStack screenshot 5

Core Features

Jetpack CameraX Scanner

Direct integration with camera lifecycle controllers, enabling high-resolution receipt captures with automatic aspect framing and flashlight controllers.

Google ML Kit OCR Parsing

High-performance on-device Optical Character Recognition detecting text layouts, coordinates, and bounding blocks directly via hardware acceleration.

Intelligent Bounding-Box Parser

Custom logical engine parsing unstructured OCR outputs into merchant names, dates, pricing columns, and dynamic negative discount line items.

Offline-First Room Persistence

Robust SQLite abstraction with Android Room, supporting full offline CRUD operations, LiveData queries, and background syncing.

Secure Cloud Sync

Firebase Authentication paired with Firestore rules ensuring seamless, real-time cross-device sync with strict user data isolation.

Technical Deep Dive

01

Geometric Bounding-Box Line Reconstruction

Implemented a geometric text reconstruction algorithm that groups individual ML Kit Text elements into physical rows using their bounding-box y-coordinates within a specific pixel tolerance (42px). This solves column misalignment on creased or angled receipts, aligning product titles with their corresponding prices.

02

Contextual Neighborhood Text Parser

Developed a proximity-based text scoring engine to extract dates and financial figures. By scanning characters around localized regex anchors like month names or total keywords, the parser extracts transactional details while discarding surrounding logo, address, and VAT noise.

03

Lifecycle-Aware CameraX Integration

Utilised Android Jetpack CameraX bound directly to the activity lifecycle, minimizing memory footprints. Implemented custom texture views, image analysis triggers, and legacy packaging overrides to ensure fast processing across target Android versions.

Performance Benchmark

"Engineered a high-accuracy, on-device OCR receipt parser on Android utilizing Google ML Kit and custom bounding-box row reconstruction, improving line-item matching by 95% under physical noise."