How monoxti/sololevel works
SoloLevel is a self-hosted finance and productivity platform with a web dashboard and Telegram bot. Users log transactions, manage savings goals and daily habits, and maintain notes and time-limited todos; the dashboard presents financial summaries, insights, and trading views. The dashboard calls the Python API, while Telegram messages are parsed and dispatched by the Node backend. Python also runs scheduled insight and forex work, and Node manages notes/todos and Telegram notifications. Several deeper trading components are indexed but unsampled, so their internal connections are omitted.
Main entry points: engine.py Forex v2 engine · index.ts Bot runtime · routers API routes · main.py API startup
Components 31
Web dashboard
- Dashboard pages
dashboard/app/dashboard/overview/page.tsx - API client
dashboard/lib/api.ts
Finance API
- API routes
python-backend/app/routers - API startup
python-backend/app/main.py - Finance endpoints
python-backend/app/routers/finance.py - SQLAlchemy database
python-backend/app/db/database.py - Finance models
python-backend/app/models - Daily goals
python-backend/app/routers/daily_goals.py - ML insights
python-backend/app/services/ml/engine.py - ML scheduler
python-backend/app/services/ml/scheduler.py
Telegram backend
- Bot runtime
node-backend/src/index.ts - Intent parser
node-backend/src/ai/brain.ts - Command handlers
node-backend/src/bot/handlers.ts - Bot finance
node-backend/src/services/finance.ts - Notes and todos
node-backend/src/services/notesAndTodos.ts - Todo reminders
node-backend/src/services/todoScheduler.ts - Telegram notifications
node-backend/src/webhooks/notify.ts - Prisma client
node-backend/src/db/prisma.ts
Trading systems
- Forex endpoints
python-backend/app/routers/forex.py - Forex scheduler
python-backend/app/services/forex/scheduler.py - Forex v2 engine
python-backend/app/services/forex/v2/engine.py - Market data
python-backend/app/services/forex/v2/data.py - Trading strategies
python-backend/app/services/forex/v2/strategies.py - Trade risk
python-backend/app/services/forex/v2/risk.py - Indicators
python-backend/app/services/forex/v2/indicators.py - Strategy performance
python-backend/app/services/forex/v2/performance.py
Other components
- Dashboard user
- Telegram user
- Telegram
- Market data provider
- PostgreSQL
Connections 31
- Dashboard user → Dashboard pages: uses
- Dashboard pages → API client: requests data
- API client → API routes: calls API
- Telegram user → Telegram: sends commands
- Telegram → Bot runtime: delivers messages
- Bot runtime → Intent parser: parses text
node-backend/src/index.ts - Bot runtime → Command handlers: dispatches intents
node-backend/src/index.ts - Command handlers → Bot finance: calls finance
node-backend/src/bot/handlers.ts - Command handlers → Notes and todos: calls notes/todos
node-backend/src/bot/handlers.ts - Todo reminders → Notes and todos: reads todos
node-backend/src/services/todoScheduler.ts - Todo reminders → Telegram notifications: sends reminders
node-backend/src/services/todoScheduler.ts - Notes and todos → Prisma client: queries data
node-backend/src/services/notesAndTodos.ts - Bot runtime → Todo reminders: starts scheduler
node-backend/src/index.ts - Bot runtime → Telegram notifications: registers bot
node-backend/src/index.ts - Telegram notifications → Telegram: sends messages
node-backend/src/webhooks/notify.ts - API startup → API routes: registers routes
python-backend/app/main.py - API routes → Finance endpoints: includes router
python-backend/app/main.py - Finance endpoints → SQLAlchemy database: queries database
python-backend/app/routers/finance.py - SQLAlchemy database → PostgreSQL: persists data
- API startup → ML scheduler: starts jobs
python-backend/app/main.py - ML scheduler → ML insights: schedules analysis
- ML insights → Finance models: reads and saves
python-backend/app/services/ml/engine.py - API startup → Forex scheduler: sets up trader
python-backend/app/main.py - API routes → Forex endpoints: includes router
python-backend/app/main.py - Forex endpoints → Forex v2 engine: runs analysis
python-backend/app/routers/forex.py - Forex v2 engine → Market data: fetches data
python-backend/app/services/forex/v2/engine.py - Forex v2 engine → Trading strategies: runs strategies
python-backend/app/services/forex/v2/engine.py - Forex v2 engine → Trade risk: builds trade risk
python-backend/app/services/forex/v2/engine.py - Forex v2 engine → Indicators: calculates indicators
python-backend/app/services/forex/v2/engine.py - Forex v2 engine → Strategy performance: gets weights
python-backend/app/services/forex/v2/engine.py - Market data → Market data provider: fetches prices