Uhh okay so a lot happened the last couple days, let’s see if I remember it all. Club detail pages now render instantly from data the backend was already sending me, instead of firing off a fetch per team just to show one line. Added a filter on the home feed so you can pick a single favorite team when you’ve got a few, and match reminders, a notification 2h before your favorite teams play. Also found out my “cancel all notifications” call was silently wiping out those reminders every time daily summaries rescheduled. Fixed that.
Shipped club favoriting, result notifications, win and loss coloring on match cards, and a set scores bottom sheet you can share. Also fixed a really annoying race condition where pull to refresh on club pages looked like it worked but was actually serving stale data.
Then I paused feature work and finally added tests and CI, since somehow none existed until now. Consolidated the team and club caching into one thing instead of two almost identical copies, and put all my error logging behind one helper. Also found an embarrassing bug where none of the settings toggles responded when you tapped the switch itself, only when you tapped the text next to it.
Last thing, I wired up Firebase Crashlytics. New Firebase project, uncaught errors now get reported automatically, tested it end to end on my phone and watched a fake error show up in the console with the right stack trace. No more finding out about crashes by accident.