Smart expense tracking that learns your habits.
An AI-powered cross-platform mobile app built with React Native, Expo, Supabase, and Groq AI. Track expenses effortlessly with auto-categorization that gets smarter over time, natural language entry, visual analytics, and intelligent spending predictions.
- Expense CRUD — Add, edit, delete with calendar date picker
- Search & Filter — Real-time search + category filter chips
- Month Navigation — Browse spending history month by month
- CSV Import/Export — Bulk import from bank statements, export to spreadsheet
- 🧠 Learned Corrections — Remembers every category fix you make
- 🔍 Keyword Matching — Fuzzy matching with typo tolerance
- 🤖 AI Fallback — Groq LLM handles the rest
- Natural Language Entry — "spent 15 bucks at chipotle yesterday" → auto-parsed
- Monthly Insights — AI-generated spending analysis and saving tips
- 📊 Pie, bar, and line charts with horizontal scrolling
- 💰 Budget progress bars with 80%/100% alerts
- 📈 Smart predictions that separate fixed costs from daily spending
- 🔄 Automatic recurring expense detection
- Custom category creation (emoji + color + keywords)
- Onboarding flow for new users
- Secure auth with session persistence
- Demo data generator for testing
| Technology | Purpose | |
|---|---|---|
| 📱 | React Native + Expo | Cross-platform mobile framework |
| 🔷 | TypeScript | Type-safe development |
| 🧭 | Expo Router | File-based navigation |
| 🗄️ | Supabase | PostgreSQL + Auth + Row Level Security |
| 🤖 | Groq API | AI natural language parsing + insights |
| 📊 | react-native-chart-kit | Data visualization |
| 🔐 | expo-secure-store | Encrypted local storage |
# Clone
git clone https://github.com/srujankothuri/SpendWiseAI.git
cd SpendWiseAI
# Install
npm install --legacy-peer-deps
# Configure
cp .env.example .env
# Add your keys to .env
# Run
npx expo startEXPO_PUBLIC_SUPABASE_URL=your_supabase_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
EXPO_PUBLIC_GROQ_API_KEY=your_groq_api_key- Create a Supabase project
- Run the SQL schema in SQL Editor (creates tables, indexes, RLS policies, and triggers)
- Disable "Confirm email" in Authentication → Providers → Email
app/ # Screens (file-based routing)
├── (auth)/ # Login, Signup
├── (tabs)/ # Home, Analytics, Budgets, Settings
├── add-transaction.tsx # Add expense modal
├── ai-entry.tsx # AI natural language entry
└── onboarding.tsx # First-time user flow
src/
├── components/ # TransactionCard, BudgetProgressCard, SearchBar
├── lib/ # Supabase client, API services, Groq client
├── hooks/ # useAuth, useCategories
├── utils/ # Categorization engine, analytics, CSV parser
├── constants/ # Categories, colors
└── types/ # TypeScript interfaces
- Receipt scanning via Google ML Kit (on-device OCR)
- Push notifications for budget alerts
- Multi-currency with real-time exchange rates
- Bank auto-import via Plaid
- Expense splitting
- Home screen widgets
Venkata Srujan Kothuri MS Computer Science — Northeastern University
This project is licensed under the MIT License — see the LICENSE file for details.









