How ax-47/akhsakov_finance works
Akhsakov Finance is a personal investment-tracking application with web, desktop, and mobile clients, a shared Rust UI, and an API backed by server-local SQLite. The main workflow is viewing and managing portfolios, enriched by market prices and analysis; the README also documents research, planning, alerts, reports, data import/export, offline use, and Claude/MCP access. The graph uses documented capabilities and sampled entry-point/API calls; several feature-module connections are left broad because their implementation was not sampled.
Main entry points: app.rs Shared UI · mod.rs SQLite database · quote Quotes and cache · mcp MCP connector
Components 23
App clients
- Web app
packages/web/src/main.rs - Desktop app
packages/desktop/src/main.rs - Mobile app
packages/mobile/src/main.rs - Shared UI
packages/ui/src/app.rs
Portfolio workflow
- Portfolio and tax
packages/api/src/portfolio - Transactions and assets
packages/api/src/economy - Plans and risk
packages/api/src/planning - Portfolio thesis
packages/api/src/thesis
Market and research
- Quotes and cache
packages/api/src/quote - Market tools
packages/api/src/market - Stock research
packages/api/src/research
Account and operations
- Watchlists and alerts
packages/api/src/watchlist - Notifications
packages/api/src/notifications - Reports and backup
packages/api/src/reports - Backup and restore
packages/api/src/backup - MCP connector
packages/api/src/mcp - Authentication
packages/api/src/auth - Settings
packages/api/src/settings
Shared data
- SQLite database
packages/api/src/database/mod.rs
Other components
- Investor
- Yahoo Finance
- ntfy / Telegram / webhook
- Claude
Connections 35
- Investor → Web app: uses
- Investor → Desktop app: uses
- Investor → Mobile app: uses
- Web app → Shared UI: renders
- Desktop app → Shared UI: renders
- Mobile app → Shared UI: renders
- Shared UI → Portfolio and tax: requests data
- Shared UI → Transactions and assets: requests data
- Shared UI → Plans and risk: requests data
- Shared UI → Portfolio thesis: requests data
- Shared UI → Quotes and cache: requests quotes
- Shared UI → Market tools: requests data
- Shared UI → Stock research: requests data
- Shared UI → Watchlists and alerts: requests data
- Shared UI → Reports and backup: requests data
- Shared UI → Backup and restore: requests data
- Shared UI → Settings: requests data
- Shared UI → Authentication: requests data
- Portfolio and tax → SQLite database: reads / writes
- Transactions and assets → SQLite database: reads / writes
- Plans and risk → SQLite database: reads / writes
- Portfolio thesis → SQLite database: reads / writes
- Quotes and cache → SQLite database: cache access
- Quotes and cache → Yahoo Finance: fetches prices
- Market tools → Yahoo Finance: fetches market data
- Stock research → Yahoo Finance: fetches research
- Watchlists and alerts → Notifications: triggers alerts
- Notifications → ntfy / Telegram / webhook: sends notifications
- Reports and backup → SQLite database: reads data
- Backup and restore → SQLite database: exports / restores
- Authentication → SQLite database: reads / writes
- Settings → SQLite database: reads / writes
- Claude → MCP connector: connects
- MCP connector → Portfolio and tax: reads portfolio
- MCP connector → Portfolio thesis: records thesis