PocketFi is an all-in-one personal finance app designed to help people track everyday finances in one place. It supports expenses, income, transfers, receipts, wallets, budgets, bills, debts, and savings goals.
PocketFi is currently in launch-preparation mode. The public launch surface is intentionally practical: app source, setup notes, project status, issue tracking, and security reporting are available here while the app is prepared for wider release.
- Landing site target: mypocketfi.web.app
- Public issue tracker: GitHub Issues
- Security policy: SECURITY.md
- License: MIT
Current release blockers are tracked through issues and launch notes, not app-store links.
- Track expenses and income: Add transactions and categorize them for easier tracking.
- Transfers: Record money movement between wallets.
- Receipt scanning: Scan receipts and keep digital records with transactions.
- Bookmarks: Save frequently used transactions for quick reuse.
- Overview dashboard: View spending, income, and monthly activity from the home timeline.
- Category breakdowns: Review expenses and income grouped by category.
- Spending trends: Analyze spending patterns over time.
- Bills: Track bill amounts, due dates, and payment status.
- Shared wallets: Share a wallet with another user for joint expense tracking.
- Budgets: Set category budgets and review monthly usage.
- Debts: Track debts, payment schedules, and payoff progress.
- Savings goals: Visualize savings progress with goal tracking.
- Flutter
- Firebase Authentication
- Cloud Firestore
- Firebase Cloud Storage
- Firebase Crashlytics
- Riverpod for state management
PocketFi uses Riverpod for app state and keeps most feature code organized into these folders:
application: Riverpod providers, notifiers, and feature coordination.data: Firebase repositories and persistence logic.domain: Models, enums, and value objects.presentation: Screens, widgets, sheets, and user flows.
Major feature areas live under lib/src/features/, including account, authentication, bills, bookmarks, budgets, categories, debts, receipts, saving goals, tags, transactions, and wallets.
Prerequisites:
- Flutter SDK compatible with the SDK constraint in
pubspec.yaml - Firebase project with Authentication, Firestore, Cloud Storage, and Crashlytics enabled
- Android Studio and/or Xcode for mobile builds
Install dependencies and run checks:
flutter pub get
flutter analyze
flutter testFirebase setup:
- Create a Firebase project in the Firebase Console.
- Add an Android app and place
google-services.jsoninandroid/app/. - Add an iOS app and place
GoogleService-Info.plistinios/Runner/. - Enable Authentication, Firestore, Cloud Storage, and Crashlytics.
- Regenerate
lib/firebase_options.dartwith the FlutterFire CLI when using a different Firebase project.
Production Firestore rules are not published as a deployable root firestore.rules file in this public proof branch yet. Treat Firebase rules review as a release blocker before wider app distribution.
PocketFi stores user-owned financial records. Treat issues involving account access, shared-wallet visibility, Firebase rules, receipt images, or data deletion as high priority.
For security reports, follow SECURITY.md. Start with a minimal public issue asking for a private contact path and avoid posting secrets, tokens, personal financial data, or full receipt images publicly.
See CONTRIBUTING.md for local workflow, issue triage, and pull-request expectations.
PocketFi is available under the MIT License.




