How vyavahareyash/cashflow works
Cashflow is an offline-first personal finance app: users record income, spending, and transfers, then review physical balances, goal reserves, budgets, and safe-to-spend money. A second major path captures spoken transactions, parses them locally, stages drafts for review, and commits approved entries. The README also documents analytics, payday-cycle budgets, privacy controls, and portable backups. Relationships follow documented workflows and the source tree; Dart implementation details were not sampled, so uncertain wiring is omitted.
Main entry points: database_helper.dart SQLite data · voice_pipeline_coordinator.dart Voice coordinator · backup_restore_screen.dart Backup and restore · main.dart App entry
Components 20
App experience
- App entry
lib/main.dart - Safe-to-spend
lib/screens/dashboard_screen.dart
Finance workflows
- Budgets
lib/screens/budget_screen.dart - Accounts
lib/screens/accounts_screen.dart - Savings goals
lib/screens/goals_screen.dart - Transaction history
lib/screens/history_screen.dart - Analytics
lib/screens/analytics_screen.dart
Voice journaling
- Voice capture and review
lib/components/voice_recording_modal.dart - Draft review
lib/components/voice_transaction_staging_sheet.dart - Voice coordinator
lib/services/voice_pipeline_coordinator.dart - Audio pipeline
lib/services/voice_audio_pipeline.dart - On-device speech
lib/services/speech_to_text_service.dart - Local inference
lib/services/slm_inference_service.dart - Entity parser
lib/services/voice_entity_parser.dart
Local data and privacy
- Backup and restore
lib/screens/backup_restore_screen.dart - Backup codec
lib/services/backup_codec.dart - SQLite data
lib/services/database_helper.dart - Platform database
lib/services/platform_database.dart - Platform security
lib/services/platform_security_service.dart
Other components
- User
Connections 26
- User → App entry: opens
- User → Safe-to-spend: views balance
- User → Budgets: tracks spending
- User → Accounts: manages accounts
- User → Savings goals: sets goals
- User → Transaction history: reviews ledger
- User → Analytics: explores trends
- User → Voice capture and review: dictates entries
- User → Backup and restore: manages backup
- Voice capture and review → Voice coordinator: starts capture
- Voice coordinator → Audio pipeline: processes audio
- Audio pipeline → On-device speech: transcribes on-device
- Voice coordinator → Local inference: extracts transactions
- Voice coordinator → Entity parser: parses entities
- Voice coordinator → Draft review: presents drafts
- Draft review → SQLite data: commits approved entries
- Backup and restore → Backup codec: encodes or decodes
- Backup and restore → SQLite data: imports or exports
- SQLite data → Platform database: uses platform storage
- Safe-to-spend → SQLite data: reads balances
- Budgets → SQLite data: reads budget activity
- Accounts → SQLite data: stores account changes
- Savings goals → SQLite data: stores goal allocations
- Transaction history → SQLite data: reads transactions
- Analytics → SQLite data: reads trends
- App entry → Platform security: uses device security