https://github.com/312-dev/eclosion
An open source desktop & web app that expands what's possible with Monarch Money. Each tool works independently with your account—enable only what you need.
https://github.com/312-dev/eclosion
budgeting finance flask monarch-money react
Last synced: 4 months ago
JSON representation
An open source desktop & web app that expands what's possible with Monarch Money. Each tool works independently with your account—enable only what you need.
- Host: GitHub
- URL: https://github.com/312-dev/eclosion
- Owner: 312-dev
- License: mit
- Created: 2026-01-02T20:12:13.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-02-07T07:40:14.000Z (5 months ago)
- Last Synced: 2026-02-07T16:58:36.051Z (5 months ago)
- Topics: budgeting, finance, flask, monarch-money, react
- Language: TypeScript
- Homepage: https://eclosion.app/
- Size: 7.47 MB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
Eclosion for Monarch
Open source desktop & web app that extends Monarch Money with additional budgeting tools.
Runs locally or self-hosted. Each feature is modular; enable only what you need.
Try the Demo ·
Documentation ·
Wiki
Dashboard
Recurring Expenses
Settings
## Overview
- **Local-first**: Credentials encrypted locally with Fernet (AES-128-CBC + HMAC-SHA256); server never sees your passphrase
- **Monarch sync**: Reads and writes directly to your Monarch account via their GraphQL API
- **Modular**: Each feature operates independently; enable/disable as needed
## Features
### Available
| Feature | Description |
|---------|-------------|
| **Recurring Expenses** | Monthly savings targets for non-monthly expenses (annual, quarterly, semi-annual). Calculates targets, tracks progress, syncs to Monarch. Supports rollup categories for aggregating subscriptions. |
| **Monthly Notes** | Persistent notes for Monarch categories/groups. Auto-carry-forward, revision history, inline math evaluation. |
| **Stashes** | Visual dashboard for savings goals. Set target amounts and dates, track progress with status badges, organize with drag/drop. Optional browser bookmark sync. |
### Coming Soon
| Feature | Description |
|---------|-------------|
| **IFTTT Integration** | Connect Eclosion to 900+ apps via IFTTT. Trigger automations when goals are funded, budgets exceeded, or sync completes. *(Awaiting IFTTT review approval — expected within 2 weeks)* |
### Planned
| Feature | Description |
|---------|-------------|
| **Joint Goals** | Shared goal tracking between two Monarch accounts. Share progress without exposing transactions/balances. |
| **Leaderboard** | Category spending competition with P2P encrypted score sharing. Income-adjusted scoring, multiple timeframes. |
| **Inbox Sync** | Email integration for receipt itemization. Parses receipts from Walmart, Costco, Uber, DoorDash, etc. |
| **Shared Budget** | Expense splitting and settlement tracking. Configurable split ratios with per-transaction overrides. |
| **Allowance** | Habit-based allowance accumulation. Define habits with reward values, track completions. |
## Quick Start
### Desktop App
**[Download the latest release](https://github.com/312-dev/eclosion/releases/latest)** for macOS, Windows, or Linux.
Runs locally with an embedded Python backend. See the [Desktop App wiki](https://github.com/312-dev/eclosion/wiki/Desktop-App) for build instructions.
### Docker
**From registry (recommended):**
```bash
export INSTANCE_SECRET=$(openssl rand -hex 16)
docker run -d \
-p 5001:5001 \
-v eclosion-data:/app/data \
-e INSTANCE_SECRET=$INSTANCE_SECRET \
ghcr.io/312-dev/eclosion:stable
# Access at http://localhost:5001?secret=YOUR_SECRET
```
**From source:**
```bash
git clone https://github.com/312-dev/eclosion.git && cd eclosion
export INSTANCE_SECRET=$(openssl rand -hex 16)
docker compose up -d
```
See the [Self-Hosting wiki](https://github.com/312-dev/eclosion/wiki/Self-Hosting-Overview) for reverse proxy setup and environment variables.
## Security
Credentials are encrypted with Fernet (AES-128-CBC + HMAC-SHA256) using PBKDF2 key derivation (480,000 iterations).
| | Desktop | Server/Docker |
|--|---------|---------------|
| **Data location** | Local machine only | Server filesystem |
| **Access control** | None needed (localhost) | Instance secret required |
| **Encryption key** | OS keychain (Touch ID / Keychain) | User-entered passphrase |
| **Network exposure** | None | Requires HTTPS in production |
See the [Security wiki](https://github.com/312-dev/eclosion/wiki/Security) for full details.
## Local Development
```bash
# Backend
pip install -r requirements.txt && python app.py
# Frontend (separate terminal)
cd frontend && npm install && npm run dev
# Or run everything with Docker
docker compose up --build
```
## Architecture
| Layer | Stack |
|-------|-------|
| **Frontend** | React 19, TypeScript 5, Vite 7, Tailwind CSS 4 |
| **Backend** | Python 3.11+, Flask, APScheduler |
| **Desktop** | Electron, PyInstaller (embedded Python) |
| **State** | SQLite (SQLAlchemy ORM) |
| **CI/CD** | GitHub Actions, Docker (GHCR), Cloudflare Pages |
## Contributing
See the [Contributing guide](https://github.com/312-dev/eclosion/wiki/Contributing).
- **Bugs**: [GitHub Issues](https://github.com/312-dev/eclosion/issues)
- **Questions**: [GitHub Discussions](https://github.com/312-dev/eclosion/discussions)
## Maintainers
Created by [@GraysonCAdams](https://github.com/GraysonCAdams). Maintained by [312.dev](https://312.dev).
See [contributors](https://github.com/312-dev/eclosion/graphs/contributors) for the full list.
## License
MIT