SnapTrack: Your Receipts, Instantly Organized

Inspiration

Manual expense entry is a pain for freelancers, students, and small businesses. I got tired of tracking piles of receipts and typing everything into spreadsheets. Why can’t it be as easy as snapping a photo and getting clean expense data? That’s what inspired SnapTrack.


What I Learned

  • Deep dive into AWS: connecting S3 triggers to Lambda, using Textract for OCR, wiring up API Gateway, and pushing data to DynamoDB.
  • Regex is powerful but finicky when parsing messy receipts.
  • The challenges of handling many different receipt formats and edge cases.
  • Building a modern, serverless stack that scales (and has zero idle cost).
  • How to deploy and connect a React frontend with a serverless backend.

How I Built It

  1. Set up an S3 bucket to receive uploads (images of receipts).
  2. S3 triggers a Lambda function (Python) that uses Textract to read the image and runs regex to extract the vendor, date, total, and all line items.
  3. Lambda writes the parsed data to a DynamoDB table.
  4. Built a simple React + Tailwind CSS frontend to display expenses (and tested API Gateway endpoints).
  5. API Gateway exposes GET/POST endpoints for the frontend.
  6. Deployed the frontend on AWS Amplify for a production-ready, public link.

Challenges

  • Making regex rules flexible enough for any kind of bill or receipt, not just one store.
  • Textract doesn’t always output text in the same order; itemization can get tricky.
  • Handling CORS issues between the frontend and API Gateway (solved by setting response headers in Lambda).
  • Keeping the UI clean and organized, even with weird/partial data.

Tech Stack

  • Python, JavaScript, React.js, Tailwind CSS
  • AWS Lambda, S3, Textract, DynamoDB, API Gateway, SES, EventBridge, Amplify
  • Boto3, uuid, re, datetime, decimal

Final Thoughts

SnapTrack is designed to take the headache out of expense management for anyone who deals with physical receipts entrepreneurs, small business owners, freelancers, or busy professionals. By fully automating the extraction and organization of expense data, SnapTrack minimizes manual work, cuts down on errors, and keeps your financial records instantly accessible.

This project proves how cloud-native, serverless tools can solve everyday business problems at scale and at minimal cost. Looking ahead, I see SnapTrack evolving into a smarter, full-featured platform: adding multi-user support, real-time analytics dashboards, direct integration with accounting software, and even advanced AI for better line-item recognition across any receipt style. The foundation is solid now it’s all about growing the features and reaching more users.

Building SnapTrack has been a deep dive into practical cloud architecture and OCR engineering, and I’m excited about taking this from a demo to a production-grade SaaS that anyone can use.


Built With

Share this project:

Updates