Tags: arsfeld/finance-tracker
Tags
✨ Add configurable transaction filtering system Implement YAML-based merchant/description filtering with flexible pattern matching (substring, prefix, suffix). Filtered transactions are excluded from LLM analysis but included in summary for context. Changes: - Add FilterRule, FilterConfig, FilterResult models (src/models.go) - Add YAML config loading with gopkg.in/yaml.v3 (src/settings.go, go.mod) - Implement transaction filtering logic (src/main.go) - Update LLM prompt to include filtered transaction summary (src/llm.go) - Add config.example.yaml with sample filter rules - Add .env.example with FILTER_CONFIG_PATH variable - Update CLAUDE.md documentation with filtering feature details Set FILTER_CONFIG_PATH env variable to enable optional filtering.
Remove BadgerDB cache to simplify notification flow Eliminates cache-related complexity that was preventing reliable notifications. Application now analyzes and notifies on every run when transactions exist. Changes: - Removed db.go and all BadgerDB dependencies - Removed --disable-cache and --force flags - Removed 2-day notification cooldown - Removed account balance update tracking - Updated documentation to reflect simplified architecture This reduces the codebase by 272 lines and makes the application behavior more predictable and easier to understand.
Fix: Include zero-balance credit cards in analysis Zero-balance accounts were being filtered out before credit card filtering, causing Tangerine World Mastercard to be excluded when paid off. This meant when only TD remained and its balance_date hadn't changed, no notifications were sent even though Tangerine had activity. Now all accounts pass through to credit card filtering, ensuring paid-off credit cards are still analyzed and their balance_date changes are detected.
⬆️ Upgrade dependencies and add spending analysis features - Upgrade all Go dependencies to latest versions (Go 1.24, Badger 4.8, etc.) - Add credit card account filtering (default: analyze credit cards only) - Add daily burn rate calculation and monthly projection to AI analysis - Update documentation with account filtering details - Mark tasks 7, 8, 9 as complete; add task 10 (transaction dates)
✨ Feat: Add 3-cycle billing analysis with reasoning support - Add current_and_last_month date range type (now default) - Implement multi-cycle analysis showing 3 billing periods - Add system message to prime LLM as financial analyst - Enable reasoning mode for complex multi-period analysis - Add temperature control (0.4) for consistent responses - Show per-cycle totals with trend comparisons - Update default behavior to analyze 3 cycles instead of 1
PreviousNext