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.
    reCAPTCHA Enterprise Logo

    protected by reCAPTCHA