A beautiful, modern personal finance tracker built with Next.js 15, featuring a premium glassmorphism UI, real-time data sync, and powerful analytics.
- Real-time Financial Overview - Total balance, income, expenses, and savings rate
- Interactive Charts - Income vs Expense trends with Recharts
- Expense Breakdown - Pie chart visualization by category
- Spending Heatmap - Visualize spending patterns by day/time
- Spending Insights - AI-powered anomaly detection and trends
- Achievements System - Gamified financial milestones
- 3D Tilt Cards - Premium hover effects on all components
- Multi-account support (Bank, Credit Card, Cash, Investment)
- Multi-currency support (USD, EUR, IDR, and more)
- Real-time balance tracking
- Credit card visual display
- Income & Expense tracking
- Category assignment with icons
- Smart filters (date, amount, category, account)
- CSV Import/Export for bank statements
- Tag system for organization
- Custom income & expense categories
- Icon picker with 50+ icons
- Color customization
- Usage analytics
- Monthly budget creation per category
- Progress tracking with visual indicators
- Overspending alerts
- Budget vs actual comparison
- Savings goal tracker
- Progress visualization
- Target date setting
- Celebration confetti when goals are reached! π
- Monthly calendar view
- Daily transaction summary
- Income/expense indicators
- Heat map activity visualization
- Time-based filtering (7d, 30d, 90d, 12m, All)
- Category spending breakdown
- Daily spending patterns
- Top expenses ranking
- CSV export functionality
- Annual financial summary
- Animated slideshow presentation
- Best/worst month highlights
- Savings rate analysis
- Glassmorphism Design - Modern frosted glass aesthetic
- Dark/Light Mode - System-aware theme switching
- iOS-inspired Animations - Smooth, buttery transitions
- 3D Tilt Effects - Interactive card hover effects
- Page Transitions - Framer Motion powered navigation
- Skeleton Loading - Premium shimmer effects
- Empty State Illustrations - Beautiful animated placeholders
- Responsive Design - Mobile-first, works on all devices
| Category | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| Language | TypeScript |
| Database | Supabase (PostgreSQL) |
| Authentication | Clerk |
| Styling | Tailwind CSS + shadcn/ui |
| Charts | Recharts |
| Animations | Framer Motion |
| State Management | Zustand |
| Icons | Lucide React |
- Node.js 18+
- npm or yarn
- Supabase account
- Clerk account
-
Clone the repository
git clone https://github.com/JeffZl/CashCompass.git cd CashCompass -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Fill in your credentials:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_key CLERK_SECRET_KEY=your_clerk_secret
-
Run Supabase migrations
- Go to your Supabase SQL Editor
- Run the migrations in
supabase/migrations/
-
Start the development server
npm run dev
-
Open the app Navigate to http://localhost:3000
cashcompass/
βββ app/
β βββ (routes)/ # Protected routes
β β βββ dashboard/ # Main dashboard
β β βββ accounts/ # Account management
β β βββ transactions/ # Transaction list
β β βββ categories/ # Category management
β β βββ budgets/ # Budget tracking
β β βββ goals/ # Financial goals
β β βββ reports/ # Analytics & reports
β β βββ calendar/ # Transaction calendar
β β βββ settings/ # User settings
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
βββ components/
β βββ dashboard/ # Dashboard widgets
β βββ transactions/ # Transaction components
β βββ ui/ # Reusable UI components
β βββ ...
βββ lib/
β βββ supabase/ # Database hooks & client
β βββ stores/ # Zustand stores
β βββ currency.ts # Currency utilities
β βββ export.ts # CSV export utilities
βββ supabase/
βββ migrations/ # Database migrations
- Row Level Security (RLS) enabled on all tables
- User data isolation - each user only sees their own data
- Clerk authentication with secure session management
- No sensitive data in client-side storage
CashCompass is a Progressive Web App! You can install it on:
- Desktop (Chrome, Edge) - Click the install icon in the address bar
- Android - "Add to Home Screen" from Chrome menu
- iOS - "Add to Home Screen" from Safari share menu
- Push Notifications for bill reminders
- Recurring Transactions
- Bank Account Sync (Plaid integration)
- Investment Portfolio Tracking
- Receipt Scanning with OCR
- Multi-language Support
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
Made with β€οΈ using Next.js and Supabase