Intelligent Financial Insights Platform
Modern, secure, and AI-powered personal finance management.
Pluto is a full-stack platform for personal finance management, combining secure banking data aggregation, AI-driven insights, and a modern dashboard UI. Designed for individuals and small teams seeking actionable financial intelligence, Pluto streamlines account tracking, transaction analysis, and personalized recommendations.
- Key Value Proposition:
Unified financial data and actionable insights - Target Audience:
individuals who would like to effectivley manage their personal finance
- Features
- Quick Start / Installation
- Usage
- Contributing
- Testing
- Deployment
- License
- Support / Contact
- Acknowledgments
- Secure Account Aggregation:
Connect and manage multiple bank accounts with robust security. - AI-Powered Insights:
Automated analysis of spending, income, and investment patterns. - Modern Dashboard UI:
Responsive, intuitive interface built with React and Vite. - Customizable Reports:
Generate and export financial summaries. - Extensible API:
RESTful endpoints for integration and automation. - Privacy-First Design:
Local data storage and user-controlled access. - Open Source:
MIT-licensed and community-driven.
- Python 3.12+
- Node.js 18+ & npm
- SQLite (default, or configure your own DB)
- macOS, Linux, or Windows
# 1. Clone the repository
git clone https://github.com/smpdl/pluto.git
cd pluto
# 2. Set up Python backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 3. Set up frontend
npm install
# 4. Initialize the database
python app/db/init_db.py
# 5. Start backend server
uvicorn app.main:app --reload
# 6. Start frontend
npm run dev# Query AI insights (Python backend)
from app.ai.insights import get_insights
insights = get_insights(user_id=123)
print(insights)// Display dashboard (React frontend)
import Dashboard from './components/Dashboard';
export default function App() {
return <Dashboard />;
}POST /api/auth/login— Authenticate userGET /api/accounts— List accountsGET /api/transactions— List transactionsPOST /api/insights— Get AI-powered insights
See docs/API.md for full reference.
- Backend:
Editapp/config.pyfor environment variables and DB settings. - Frontend:
Updatesrc/components/SettingsDashboard.tsxfor UI preferences.
We welcome contributions! Please read our CONTRIBUTING.md for guidelines.
- Development Setup:
Fork, clone, and set up.venvandnpm installas above. - Coding Standards:
- Python: PEP8
- TypeScript: Airbnb Style Guide
- Pull Requests:
- Create feature branches
- Write tests for new features
- Submit PRs with clear descriptions
- Backend:
pytest
- Frontend:
npm test - Coverage:
Reports generated viapytest --covandnpm run coverage.
- Backend:
Deploy with Docker, Gunicorn, or cloud platforms (see docs/deployment.md). - Frontend:
Build withnpm run buildand serve via static hosting. - Environment Variables:
Configure in.envfiles for secrets and DB URLs.
| Name | Contributions |
|---|---|
| Samip | System design, core AI/agentic functionalities & implementation, backend support, troubleshooting critical issues |
| Manish | Backend API development, database management, server logic, authentication, deployment, and some frontend integration |
| Krishtina | Frontend development, UI/UX design and implementation, responsiveness, user flow, presentation slide deck, and demo |
This project is licensed under the MIT License.
© 2025 Samip Paudel and contributors.
- Issues: GitHub Issues
- Email: spaudel@vassar.edu
- Community: Discussions
- FastAPI
- React
- Vite
- Shadcn UI
- pytest
- SQLite
- All contributors and third-party libraries listed in requirements.txt and package.json