FinFlow is a production-quality, installable Progressive Web App (PWA) designed for modern personal and shared finance management. Built with a focus on rich aesthetics, offline-first performance, and collaborative simulation.
- π± Full PWA Support: Installable on iOS, Android, and Desktop with offline caching via Service Workers.
- π€ Collaboration Simulation: Switch between multiple local profiles to simulate shared accounts and money requests.
- π Advanced Analytics: Interactive charts using Recharts for category distribution, monthly trends, and spending patterns.
- β€οΈ Financial Health Score: A dynamic 0β100 score based on savings rate, budget adherence, income regularity, and account diversity.
- π‘ Smart Insights Engine: Automatically generates recommendations based on spending habits, budget thresholds, and positive streaks.
- π‘οΈ Multi-Account Logic: Supports Bank, Wallet, Crypto, Card, Savings, Investment, and Cash accounts with specific modes (Locked, Input-only, Excluded from total).
- π Transaction CRUD: Full management of income, expenses, transfers, and reimbursements with tag support and atomic balance calculations.
- π¨ Premium UI/UX: Sleek dark mode, glassmorphism effects, smooth animations, and a curated color palette.
- Core: React 18, TypeScript, Vite
- Styling: Tailwind CSS (Class-based dark mode)
- State Management: Zustand + Persist Middleware (localStorage)
- Visualization: Recharts
- Icons: Lucide React
- Date Handling: date-fns
- PWA: vite-plugin-pwa
- Utilities: uuid, clsx
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/rich1richard/finflow.git cd finflow -
Install dependencies
npm install
-
Run in development mode
npm run dev
The app will be available at
http://localhost:5173.
To build the project for production (and test PWA features):
npm run build
npm run previewfinflow/
βββ src/
β βββ components/ # Reusable UI components (Layout, Common, Feature-specific)
β βββ data/ # Seed data and constants
β βββ pages/ # Main route views (Dashboard, Analytics, etc.)
β βββ store/ # Zustand global state and CRUD logic
β βββ types/ # TypeScript interfaces and enums
β βββ utils/ # Calculations, formatters, and recommendations engine
β βββ App.tsx # Router and theme provider
βββ public/ # Static assets and PWA icons
βββ tailwind.config.js # Design system configuration
Distributed under the MIT License. See LICENSE for more information.