How lukestimson/scoop-money works
Scoop Money is a local-first personal-finance desktop app. A user opens the desktop interface, navigates finance views, and works with transactions, income, budgets, living expenses and analytics; Electron IPC connects the renderer to main-process handlers and local persistence. The tree also identifies CSV importing, AI/chat, backups and an agent bridge as product capabilities. Several renderer screens and backend modules were not sampled, and the README is empty, so their internal wiring is not inferred here.
Main entry points: App.tsx Navigation app · preload/index.ts IPC API bridge · main/index.ts IPC handlers · main.tsx Renderer bootstrap
Components 19
Desktop interface
- Navigation app
src/renderer/src/App.tsx - Renderer bootstrap
src/renderer/src/main.tsx - IPC API bridge
src/preload/index.ts
Finance workflows
- Transactions
src/renderer/src/components/Transactions.tsx - Income
src/renderer/src/components/Income.tsx - Living expenses
src/renderer/src/components/LivingExpenses.tsx - Dashboard
src/renderer/src/components/Dashboard.tsx - Analytics
src/renderer/src/components/Analytics.tsx - Budget tools
src/renderer/src/components/Budget.tsx - AI chat UI
src/renderer/src/components/ChatBox.tsx
Main-process services
- IPC handlers
src/main/index.ts - Transaction importer
src/main/importer.ts - AI services
src/main/ai.ts - Agent bridge
src/main/agentBridge.ts - Backup service
src/main/backup.ts
Local data
- Finance database
src/main/database.ts
Other components
- User
- Agent client
- AI providers
Connections 25
- User → Renderer bootstrap: opens app
- Renderer bootstrap → Navigation app: renders
- Navigation app → Transactions: selects view
- Navigation app → Income: selects view
- Navigation app → Living expenses: selects view
- Navigation app → Dashboard: selects view
- Navigation app → Analytics: selects view
- Navigation app → Budget tools: selects view
- Navigation app → AI chat UI: renders
- Transactions → IPC API bridge: requests data
- Income → IPC API bridge: requests data
- Living expenses → IPC API bridge: requests data
- Dashboard → IPC API bridge: requests data
- Analytics → IPC API bridge: requests data
- Budget tools → IPC API bridge: requests data
- AI chat UI → IPC API bridge: requests AI
- IPC API bridge → IPC handlers: invokes IPC
- IPC handlers → Finance database: reads and writes
- IPC handlers → Transaction importer: imports file
- IPC handlers → AI services: initializes AI
- IPC handlers → Agent bridge: starts bridge
- IPC handlers → Backup service: initializes backups
- Agent client → Agent bridge: connects
- AI services → AI providers: requests completions
- Backup service → Finance database: backs up data