Development Log
A timeline of our journey, building Simple Money Tracker one feature at a time.
Milestone 52: AI Coach Upgrade & HTML Export (v3.3.0)
- Gemini 3 Upgrade: Migrated AI Coach to the new Google GenAI package and upgraded models to Gemini 3 Flash/Pro.
- Pro Access Control: Enforced Pro-only access for Gemini 3 Pro to keep costs predictable.
- Local History & Export: Added local analysis history and standalone HTML export for AI reports.
Milestone 51: Secure Profile Data & Admin Access Fix (v3.2.1)
- Admin Access Fix: Resolved `/admin` forced-logout issue caused by duplicate auth/session rotation.
- Profile Encryption: Added encryption/decryption flow for sensitive `birthday` data across app runtime and Cloud Functions.
Milestone 50: Categories Profile-Only Refactor (v3.2.0)
- Single Source of Truth: Moved categories to `userProfile.categories` and removed legacy subcollection CRUD.
- Consistent UI State: Added immediate profile refresh after category mutations for cross-screen consistency.
Milestone 49: Delta Sync Engine + Cache Guard (v3.1.0)
- Delta Sync Engine: Rolled out incremental sync across modules for multi-device consistency.
- Robust Cache Guard: Added `ensure*Cache` helpers to prevent stale/partial cache states.
- Platform Upgrade: Upgraded to Next.js 16.1.6.
Milestone 48: Zero-Trust Privacy & End-to-End Encryption (v3.0.0)
- Privacy-First Security: Rolled out end-to-end encryption for sensitive data and personal user information.
- No One Can Read Your Data: Even developers/admins cannot view your private content in plaintext.
- Single-Session Protection: Enforced one active session per user to reduce account takeover risk.
- Smart Caching (Secure by Design): Introduced metadata-based caching to boost speed while keeping data protected.
Milestone 47: Groups Caching & Lazy Loading (v2.42.0)
- Groups Caching: Implemented local storage caching for Groups to reduce repeated reads.
- Lazy Loading: Added lazy loading for Groups components to improve initial load time.
- Sync Visibility: Added last-sync data to member info for better transparency.
Milestone 46: Notes & Messages Caching (v2.41.0)
- Optimistic + Cache: Added local caching and optimistic updates for Notes and Messages.
- Faster Messaging UI: Lazy loaded the Sent tab to reduce initial render cost.
Milestone 45: Simple Storage Massive Optimization (v2.40.0)
- Batch Operations: Added batch upload/delete/view to reduce round-trips.
- Metadata Local Cache: Cached storage metadata locally to minimize Firestore reads.
Milestone 44: Budget/Debt/Lending/Contacts Optimization (v2.39.0)
- Performance & Usability: Optimized Budget, Debt, Lending, and Contacts for faster interactions and cleaner UX.
Milestone 43: Expense Page Performance Optimization (v2.38.0)
- Lazy Load Calendar View: Implemented lazy loading for the `ExpensesCalendarView` component using `next/dynamic` to reduce initial bundle size.
- Debounce Search: Added a custom `useDebounce` hook (300ms) to the expense search to prevent excessive re-renders.
- CDN Cache for JSON: Configured Firebase Storage to serve `expenses.json` with `Cache-Control: public, max-age=3600` for 1-hour caching.