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.
7 AI Services
agents
Android, iOS, Web
platform
v1.0 Product
scope










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.