After a lot of wrestling—with GPT and with myself—I finally hit a big milestone this week:
Churn can now loop backwards through my statements, and the numbers match.

This was harder than I expected. Getting the logic right for iterating through all transactions and breaking them into billing cycles was a mental workout. There were plenty of false starts and half-baked solutions, but now it feels solid.

Why is this important? Because this unlocks the core insight behind Churn:
Understanding my financial timeline across billing cycles, not just raw transactions.

What’s Working Now

  • ✅ Parsing CSV files from statements
  • ✅ Grouping transactions by billing cycle
  • ✅ Matching totals accurately (no more phantom cents!)

What’s Next

  • Visualization: Turning this data into something human-friendly
  • UI Decisions: Do I start with a dashboard mock or a static chart first?
  • Automation: Eventually, this should run without me manually slicing CSVs.

This feels like the first time I can actually see the product in my head start to exist in code.