Smart personal finance management with AI-powered insights
Kasho is a modern, beautiful finance tracking app built with Flutter, Supabase, and Gemini AI. Track your expenses, analyze spending patterns, and get intelligent insights about your financial habits.
- ✨ Beautiful Dashboard - Bank-style interface with monthly spending overview
- 🌓 Dark/Light Mode - Automatic theme switching
- 📊 Transaction Tracking - Track income and expenses
- 🏷️ Categories - Predefined Portuguese categories with custom icons
- 📱 iOS Optimized - Native feel on iPhone
- 📸 Receipt Scanning - AI-powered receipt analysis with Gemini Vision
- 🤖 Smart Categorization - Automatic transaction categorization
- 📈 Analytics & Insights - Charts and AI-generated financial insights
- 💬 Financial Chatbot - Ask questions about your spending
- 🏦 Bank Integration - Auto-sync with BPI via SIBS API (PSD2)
- 📄 PDF Import - Import bank statements automatically
- 🌍 Multiple Languages - English support
Kasho follows modern fintech design principles:
- Premium aesthetics - Inspired by Revolut, N26, and modern banking apps
- Smooth animations - Micro-interactions for better UX
- Color psychology - Vibrant green for money/growth, clear category colors
- Portuguese-first - Built for Portuguese users
- Flutter SDK (3.35.7 or higher)
- Dart SDK (3.9.2 or higher)
- Supabase account (free tier works!)
- Gemini API key (free from Google AI Studio)
-
Clone the repository:
git clone git@github.com:R0drig0-P/Kasho.git cd Kasho -
Install dependencies:
flutter pub get
-
Setup environment variables:
- Copy the example file:
cp .env.example .env
- Edit
.envand add your credentials:SUPABASE_URL=https://your-project.supabase.co SUPABASE_ANON_KEY=your_anon_key_here GEMINI_API_KEY=your_gemini_api_key_here
- Copy the example file:
-
Setup Supabase:
- Create a project at supabase.com
- Go to SQL Editor and run the schema in
supabase/schema.sql - Get your credentials from Project Settings > API:
- Project URL → Add to
.envasSUPABASE_URL - anon public key → Add to
.envasSUPABASE_ANON_KEY
- Project URL → Add to
-
Setup Gemini AI:
- Get your API key from AI Studio
- Add it to
.envasGEMINI_API_KEY
-
Run the app:
flutter run
🔒 Security Note: The
.envfile contains sensitive credentials and is gitignored. Never commit it to version control!
- Row Level Security - Supabase RLS ensures data privacy
- Local-first option - Can work offline with local SQLite (future)
- No data selling - Your financial data stays yours
- Open source - (if you decide to make it public later)
- Frontend: Flutter 3.35.7 (Dart 3.9.2)
- State Management: Riverpod 2.6.1
- Navigation: go_router 14.6.2
- Backend: Supabase (PostgreSQL + Auth + Storage)
- AI: Google Gemini API (Vision + Pro)
- Charts: fl_chart 0.70.1
This is a personal project. If you want to use it, reach out!
Currently a personal project, but open to suggestions and feedback!
Made by pin4
"Keep your Kasho in check" 💰✨