Skip to content

Tags: arsfeld/finance-tracker

Tags

v0.1.49

Toggle v0.1.49's commit message
✨ 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.

v0.1.48

Toggle v0.1.48's commit message
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.

v0.1.47

Toggle v0.1.47's commit message
Revert "Fix: Include zero-balance credit cards in analysis"

This reverts commit e6705ad.

v0.1.46

Toggle v0.1.46's commit message
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.

v0.1.45

Toggle v0.1.45's commit message
🐛 Fix: Update Dockerfile to use Go 1.24

Update base image from golang:1.22-alpine to golang:1.24-alpine
to match go.mod requirement of Go 1.24.0, fixing CI build failure.

v0.1.44

Toggle v0.1.44's commit message
⬆️ 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)

v0.1.43

Toggle v0.1.43's commit message
🔧 Config: Change default warning suffix to -warning (no 's')

v0.1.42

Toggle v0.1.42's commit message
📝 Docs: Add project documentation and backlog

- Add CLAUDE.md with project overview and guidelines
- Add backlog directory with task management

v0.1.41

Toggle v0.1.41's commit message
✨ 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

v0.1.38

Toggle v0.1.38's commit message
🐛 Debug: Add logging for ntfy topic selection