A smart expense tracking application that automatically processes receipt emails and manages your finances.
Repository: https://github.com/jacksonkasi1/ledger.git
Receipt-Wise Ledger Pro is a web application that helps you track expenses by automatically processing receipt emails sent to a dedicated email address. When you send receipt emails to the configured address, Postmark's inbound webhook captures them and forwards the data to our server function, which uses AI to extract expense information and updates only your personal expense records.
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Email Receipt │───▶│ Postmark │───▶│ Server Function│
│ (Send to │ │ Inbound Webhook │ │ (Process Email)│
│ app email) │ │ │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │ │
│ │ ▼
│ │ ┌──────────────────┐
│ │ │ AI Processing │
│ │ │ (Gemini AI) │
│ │ │ Extract Info: │
│ │ │ • Amount │
│ │ │ • Vendor │
│ │ │ • Date │
│ │ │ • Category │
│ │ └──────────────────┘
│ │ │
│ │ ▼
│ │ ┌──────────────────┐
│ │ │ User-Specific │
│ │ │ Database │
│ │ │ Update │
│ │ │ (Supabase) │
│ │ └──────────────────┘
│ │ │
│ │ ▼
│ │ ┌──────────────────┐
│ │ │ Dashboard │
│ │ │ (View & Edit) │
│ │ └──────────────────┘
│ │ │
│ │ ▼
│ │ ┌──────────────────┐
│ └─────────────▶│ Budget Alerts │
│ (Email via │
│ Postmark) │
└──────────────────┘
- 📧 Email Receipt Processing: Send receipts to a dedicated email address for automatic processing via Postmark inbound webhooks
- 🤖 AI-Powered: Uses Google Gemini AI to extract expense details from emails
- 👤 User-Specific Processing: Only processes emails for the authenticated user who sent them
- 📊 Dashboard: View monthly spending, transaction counts, and averages
- 📈 Analytics: Track spending patterns with charts and reports
- 🏷️ Categories: Organize expenses by type (Food, Shopping, Travel, etc.)
- 💰 Budget Alerts: Get email notifications via Postmark when you exceed spending limits
- 📱 Responsive Design: Works on desktop and mobile devices
- 📤 Export Data: Download your expenses as CSV files
- Frontend: React + TypeScript + Vite
- UI Components: Radix UI + Tailwind CSS
- Backend: Supabase (Database + Auth + Functions)
- AI Processing: Google Gemini AI
- Email Processing: Postmark inbound webhooks
- Email Notifications: Postmark (for budget alerts)
To run this project, you need:
- Node.js (version 16 or higher)
- A Supabase account
- A Google Gemini AI API key
- A Postmark account (for inbound email processing and notifications)
-
Clone the project
git clone https://github.com/jacksonkasi1/ledger.git cd receipt-wise-ledger-pro
-
Install dependencies
npm install
-
Set up environment variables
- Copy
.env.example
to.env
- Add your Supabase URL and keys
- Add your Gemini AI API key
- Add your Postmark credentials
- Copy
-
Run the application
npm run dev
-
Open your browser
- Go to
http://localhost:5173
- Sign up for an account
- Start tracking expenses!
- Go to
- Sign up for an account using your email
- Add expenses manually using the dashboard
- Send receipt emails to the configured app email address
- Watch as Postmark's inbound webhook captures the email and triggers AI processing for your specific account
- View analytics to understand your spending patterns
- Set budget alerts to receive email notifications when you exceed spending limits
src/components/
- React components (Dashboard, Analytics, etc.)src/pages/
- Main application pagessupabase/functions/
- Backend functions for email processingsupabase/migrations/
- Database schema and setup
This application makes expense tracking effortless by combining modern web technologies with AI-powered automation.