🚀 QUICK START REMINDER: After running
python app.py, open http://127.0.0.1:5000/ in your browser
A Flask-based personal finance PWA focused on cash flow forecasting rather than traditional budgeting. The key insight: most apps track past spending but don't solve the real problem of "will I have enough money left at the end of the month?"
MoneyPal addresses a key gap in personal finance apps: most track past spending but don't solve the real problem of "will I have enough money left at the end of the month?"
- Cash Flow Forecasting: AI-powered predictions based on historical spending patterns
- Forward-Looking: Focus on future financial health vs. past analysis
- Voice-First: Hands-free expense logging and conversational financial insights
- Privacy-Focused: Manual data entry gives users full control over their financial data
- Minimal & Focused: Essential features without bloat
- People frustrated with traditional budgeting apps
- Those seeking forward-looking financial insights
- Users who value privacy and data control
- Individuals wanting hands-free expense tracking
- Cash flow forecasting is rare in consumer finance apps
- Voice-first interaction for accessibility and convenience
- Privacy-focused manual entry approach
- Minimal, focused feature set vs. bloated competitors
- Cash Flow Tracking: Record income and expenses with categories
- Auto-Save Editing: Click any cell to edit inline with automatic saving
- Forward-Looking Insights: Focus on cash flow forecasting vs. past spending analysis
- Category Management: Organize transactions by type and purpose
- Data Export: Export financial data in multiple formats
- Backend: Flask 3.0.0, Python 3.6+
- Database: SQLite with SQLAlchemy ORM
- Frontend: HTML5, CSS3, JavaScript
- Dependencies: Flask-SQLAlchemy, python-dotenv
MoneyPal/
├── app.py                 # Main Flask application
├── models.py             # Database models (CashFlow)
├── requirements.txt      # Python dependencies
├── seed_sample_data.py   # Sample data generator
├── templates/            # HTML templates
│   ├── dashboard.html   # Financial dashboard
│   └── cashflow.html    # Cash flow management
└── project_files_overview.txt # Project documentation
- Python 3.6 or higher
- pip package manager
- 
Clone the repository git clone https://github.com/SamStamport/MoneyPal.git cd MoneyPal
- 
Install dependencies and run pip install -r requirements.txt python app.py Then visit: http://localhost:5000 
- Add income and expense entries with Enter key
- Inline Editing: Click any cell (date, amount, description, category, notes) to edit
- Auto-Save: Changes save automatically when you click away
- Visual Feedback: See saving status with color-coded indicators
- Error Handling: Automatic retry on network errors with visual feedback
- Data Validation: Real-time validation for dates and amounts
- Categorize transactions
- View financial dashboard with monthly summaries
- Export data to CSV format
Create a .env file in the project root:
FLASK_ENV=development
SECRET_KEY=your-secret-key-here
DATABASE_URL=sqlite:///cashflow.dbThe application uses SQLite and stores data in C:\Users\[username]\Documents\MoneyPal\cashflow.db. The database will be created automatically on first run.
- Basic Flask application structure
- Database models and setup
- CSV export functionality
- Sample data generation
- Complete cash flow CRUD operations
- Inline editing with auto-save functionality
- Visual feedback and error handling
- Data validation and currency formatting
- Financial dashboard and reporting
- Category management
- AI Cash Flow Prediction: Historical data analysis for future forecasting
- Voice Input: Speech recognition for hands-free expense logging
- Receipt Photo Capture: AI parsing of receipt images
- Smart Alerts: Upcoming low balance period notifications
- Conversational Interface: Voice queries for cash flow insights
- Recurring Bills Integration: Predictable expense automation
- Data visualization charts
- Goal tracking
- User authentication
- Mobile PWA optimization
- Fork the repository
- Create a feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: Report bugs and feature requests on GitHub
- Documentation: Check the project_files_overview.txt for detailed file descriptions
- Questions: Open a discussion on GitHub
See CHANGELOG.md for a detailed history of changes and updates.
MoneyPal - Take control of your finances, one transaction at a time.