A modern expense tracking application that uses OCR to automatically extract information from receipts and provides natural language querying capabilities.
Note: This is a personal project that I use to track my own expenses. It's designed according to my specific needs and workflow.
- 📸 Receipt scanning with automatic item and price detection
- 🤖 Automatic category detection and management
- 💬 Natural language querying for expenses
- 📱 Modern web interface
- 🔒 Secure data storage
- Frontend: React, TypeScript, Vite
- Backend: Bun, TypeScript, Prisma
- Database: PostgreSQL
- Cache: Redis
- AI/ML: Anthropic Claude API for natural language processing
- OCR: Tesseract.js for receipt scanning
- Bun (latest version)
- Docker and Docker Compose
- Anthropic API key
- Clone the repository
- Install dependencies:
bun install
- Set up environment variables:
cp apps/backend/.env.example apps/backend/.env cp apps/frontend/.env.example apps/frontend/.env
- Start development services:
docker-compose up -d
- Start the development servers:
bun dev
.
├── apps/
│ ├── frontend/ # React frontend application
│ └── backend/ # Bun backend API
├── packages/
│ └── shared/ # Shared types and utilities
└── docker-compose.yml
MIT