Skip to content
Back to Projects
AIMobileFlutter

Fin Co-Pilot - AI-Assisted Personal Finance App

Built a Flutter and Firebase personal finance companion that uses Gemini-powered agents for conversational transaction capture, receipt OCR, budgeting, coaching, notifications, and AI-generated financial reports across mobile and web targets.

Role: Sole Architect & DeveloperPeriod: 2025-2026

7 AI Services

agents

Android, iOS, Web

platform

v1.0 Product

scope

Auto1 / 5
Fin Co-Pilot - AI-Assisted Personal Finance AppFin Co-Pilot - AI-Assisted Personal Finance App
Fin Co-Pilot - AI-Assisted Personal Finance AppFin Co-Pilot - AI-Assisted Personal Finance App
Fin Co-Pilot - AI-Assisted Personal Finance AppFin Co-Pilot - AI-Assisted Personal Finance App
Fin Co-Pilot - AI-Assisted Personal Finance AppFin Co-Pilot - AI-Assisted Personal Finance App
Fin Co-Pilot - AI-Assisted Personal Finance AppFin Co-Pilot - AI-Assisted Personal Finance App

Problem

Most personal finance tools make users do the work: fill forms, pick categories, reconcile receipts, then interpret charts later. Fin Co-Pilot was built around a simpler loop: capture spending quickly, enrich it with AI, and turn the data into budgets, insights, reminders, and reports that are useful in daily life.

My Role & Responsibilities

  • Designed and built the Flutter application end-to-end, including onboarding, authentication, dashboard, transactions, insights, budgets, reports, coaching, notifications, settings, and the Fin Copilot assistant flow
  • Implemented a Gemini-powered transaction assistant with specialist services for extraction, validation, context, receipt parsing, item tracking, pattern learning, and orchestration
  • Built receipt capture with camera/gallery input, Gemini Vision OCR, editable receipt review, item-level extraction, and Firestore persistence
  • Integrated Firebase Auth, Firestore, Storage, Cloud Messaging, Cloud Functions, Analytics, Crashlytics, and Firebase AI
  • Added PDF and CSV report export with AI-generated monthly summaries and share flows
  • Built notification preferences, budget monitoring, daily/weekly coaching reminders, and scheduled Firebase Cloud Functions for recurring workflows
  • Kept exploratory modules such as price finder, shopping, subscriptions, health score, and cash flow separate from the verified v1 product scope

Product Scope

The current app is a Flutter personal finance companion for Android, iOS, and web. The main navigation focuses on the everyday money loop:

  • Home dashboard: monthly spending snapshot, recent transactions, budget progress, and rotating smart insight cards
  • Transactions: transaction list, detail, edit flows, category filters, and receipt item breakdowns
  • Insights: spending charts, category analytics, period filters, and trend views
  • More: budgets, reports, coaching, notification settings, account settings, and auxiliary tools
  • Fin Copilot FAB: a global assistant entry point for conversational transaction capture

Architecture

Fin Co-Pilot uses Flutter for the client, Riverpod for state, Firebase for backend services, and Firebase AI with Gemini models for the AI layer.

Flutter Client
  Home / Transactions / Insights / More / Fin Copilot
        |
AI Services
  Orchestrator, Extractor, Validator, Context, Receipt,
  Item Tracker, Pattern Learner
        |
Firebase
  Auth, Firestore, Storage, Cloud Messaging,
  Cloud Functions, Analytics, Crashlytics
        |
Reports, coaching tips, budget alerts, receipt records,
transaction history, and notification logs

The assistant flow is intentionally split into smaller responsibilities. The extractor parses natural language transaction details, the validator asks for missing required fields, the context service suggests useful optional fields, the receipt agent handles OCR, and the item tracker records individual receipt items for later analysis.

Tech Stack

  • Frontend: Flutter, Dart, Material Design, Google Fonts, responsive mobile-first screens
  • State and navigation: Riverpod, GoRouter, custom navigation utilities, bottom tab navigation, global assistant FAB
  • AI: Firebase AI with Gemini 2.5 Flash for orchestration, transaction extraction, coaching, and reporting; Gemini 2.5 Flash-Lite for receipt OCR
  • Backend: Firebase Auth, Firestore, Storage, Cloud Messaging, Cloud Functions, Analytics, and Crashlytics
  • Input: conversational text, manual transaction flows, camera/gallery receipt upload, and push-to-talk voice input
  • Reports: AI-generated monthly summaries, category/merchant/payment statistics, PDF export, CSV export, and share functionality
  • Notifications: local notifications, FCM, notification preferences, budget alerts, coaching reminders, and scheduled Cloud Functions
  • UI polish: fl_chart, shimmer states, Lottie, flutter_animate, haptics, dark/light themes, and animated loading states

Platform Screenshots

Key Features Delivered

Conversational Transaction Capture

The Fin Copilot assistant lets users describe a purchase naturally. The AI layer extracts amount, item, category, merchant, and description, validates missing fields, and asks concise follow-up questions before saving structured transaction data.

Receipt OCR and Item Tracking

Users can take a receipt photo or choose one from their gallery. The receipt agent extracts merchant, date, line items, quantities, prices, subtotal, tax, total, payment method, and confidence. A review screen lets the user inspect or edit the extracted data before it is processed.

Budgeting, Insights, and Reports

Budgets track monthly category limits and current spending. Insights summarize spending trends, categories, merchants, and daily averages. Reports combine transaction statistics with Gemini-generated summaries and export to PDF or CSV.

Coaching and Notifications

The app includes AI coaching screens, a curated tip library, notification preferences, budget alerts, daily coaching tips, weekly reports, and Cloud Functions that schedule recurring budget/coaching workflows.

Price and Shopping Modules

The repository includes price finder, price intelligence, shopping, and price alert services. These are better described as auxiliary or in-progress modules rather than the core public product scope, so the portfolio now frames them accordingly.

Results & Impact

  • Delivered a complete v1.0 Flutter finance app surface with authentication, onboarding, dashboard, transaction history, assistant capture, receipt OCR, budgets, insights, reports, coaching, notifications, and settings
  • Built a multi-service Gemini layer that separates extraction, validation, context, receipt parsing, item tracking, pattern learning, and orchestration
  • Implemented Firebase-backed persistence, messaging, analytics, crash reporting, and scheduled Cloud Functions
  • Added practical export and sharing workflows through AI reports, PDF generation, and CSV generation
  • Clarified the public product story by separating verified shipped scope from exploratory modules in the repository

Challenges & Lessons Learned

  • AI reliability: LLM responses need strict JSON prompts, response cleaning, fallback extraction, and validation screens before writing financial data
  • Receipt quality: OCR has to handle messy receipt formats, missing fields, discounts, tax lines, and inconsistent item naming
  • Feature scope: A fast-moving product can accumulate exploratory modules; keeping the portfolio aligned with enabled, user-facing flows matters as much as building them
  • Firebase data modeling: Budgets, transactions, notifications, reports, and receipt items require consistent user scoping, indexes, and clear service boundaries

How AI/Agents Were Used

Fin Co-Pilot is an AI-assisted app, not just an app with a chatbot attached. Gemini services power transaction extraction, follow-up questions, receipt OCR, report summaries, coaching, and financial assistance. During development, I also used agentic coding workflows to scaffold, review, and iterate on the Flutter/Firebase implementation, then validated and integrated the shipped code myself.