A mobile application that uses your phone camera to scan, digitize, and organize receipt information.
Created for .devhacks 2025 - A smart solution for expense tracking and receipt management.
Receipt Scanner is a full-stack mobile application that transforms physical receipts into structured digital data. Simply snap a photo of your receipt, and the app automatically extracts and categorizes all relevant information including establishment name, items purchased, prices, and totals.
- 📸 Camera-Based Scanning - Capture receipts instantly using your phone camera
- 🔍 OCR Text Extraction - Powered by Tesseract OCR for accurate text recognition
- 🤖 AI-Powered Parsing - Automatically structures receipt data (items, prices, dates, etc.)
- 🏷️ Smart Categorization - Receipts are automatically categorized (dining, shopping, etc.)
- 🔊 Text-to-Speech - Listen to receipt details with audio playback
- 💾 Data Storage - Save and organize your receipts digitally
- React Native with Expo
- Mobile-first design for iOS and Android
- Camera integration for receipt capture
- Go with Fiber v3 web framework
- Tesseract OCR for text extraction
- Text-to-Speech capabilities
- RESTful API architecture
- Node.js and npm
- Go 1.x or later
- Tesseract OCR installed locally
- Expo CLI (for mobile development)
git clone https://github.com/Jared-Rost/Receipt-Scanner.git
cd Receipt-ScannerInstall Tesseract OCR:
sudo apt-get install tesseract-ocrNavigate to the backend directory and install dependencies:
cd backend
go mod tidyStart the backend server:
go run main.goThe server will run on http://localhost:3000
Navigate to the frontend directory:
cd frontend/MyApp
npm installStart the Expo development server:
npx expo startFollow the on-screen instructions to run the app on:
- iOS Simulator
- Android Emulator
- Physical device with Expo Go
- Capture - Open the app and take a photo of your receipt
- Process - The image is sent to the backend where OCR extracts the text
- Parse - AI algorithms structure the data into a standardized format
- Categorize - The receipt is automatically categorized based on content
- Store - Save the digitized receipt for future reference
- Review - View organized receipt data or listen to it via text-to-speech
For detailed API endpoints, request/response formats, and integration examples, see the Backend API Documentation.
Quick API Overview:
POST /process- Upload and process a receipt imagePOST /tts- Convert receipt data to speech
Receipt-Scanner/
├── frontend/ # React Native mobile app (TypeScript)
│ └── MyApp/ # Expo application
├── backend/ # Go API server
│ └── README.md # Detailed API documentation
└── README.md # This file
- Tesseract OCR for text extraction
- Fiber framework for the Go backend
- Expo and React Native for mobile development
- .devhacks 2025 for the opportunity to build this project
The backend API documentation and usage instructions can be found Here.