Skip to content
Steven6BrownPublic

About

Privacy-first iOS budget tracker that parses bank notifications automatically. No bank login required - all data stays on your device.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 

Repository files navigation

finio πŸ’Έ

A privacy-first iOS budget tracker that automatically parses your bank charge notifications β€” no bank login, no subscriptions, no data ever leaving your device.

Swift iOS License


What is Finio?

Most budgeting apps require you to connect your bank account or manually type every purchase. Finio does neither.

When you get a charge notification from your bank, you long-press it, copy the text, and open Finio β€” it detects the notification automatically, parses the merchant name, amount, and category instantly, and has it ready to add to your budget in one tap. You can also say "Hey Siri, add to Finio" and speak your charge completely hands-free.


Features

  • Smart notification parsing β€” Supports 20+ banks including Discover, Chase, Amex, Capital One, Wells Fargo, and more
  • Siri integration β€” Say "Hey Siri, add to Finio" for completely hands-free logging
  • Auto-categorization β€” Automatically categorizes 500+ merchants across Food & Dining, Groceries, Transport, Shopping, Subscriptions, Health, Travel, and Bills
  • Monthly budget tracking β€” Set limits per category and track spending with visual breakdowns
  • Bills tracker β€” Log recurring bills with due date reminders; marking a bill paid automatically creates a transaction
  • Savings goals β€” Set goals with emoji icons and track progress
  • Home screen widget β€” Small and medium widgets showing real-time budget status
  • Face ID authentication β€” Secure local account with biometric login
  • Dark & light mode β€” Full support for both appearance modes
  • 100% offline β€” All data stored locally using App Groups and UserDefaults
  • CSV export β€” Export your transaction history at any time

How It Works

Bank sends charge notification
        ↓
Long-press notification β†’ Proofread β†’ Copy
        ↓
Open Finio β†’ Add tab
        ↓
Clipboard auto-detected and parsed instantly
        ↓
Tap "Add to Budget" β€” done

Or hands-free:

"Hey Siri, add to Finio"
        ↓
Speak your charge
        ↓
Finio opens with transaction pre-filled
        ↓
Tap "Add to Budget" β€” done

Tech Stack

Technology Usage
SwiftUI Entire UI layer
WidgetKit Home screen widgets
AppIntents Siri integration
UserNotifications Bill reminders & monthly summaries
LocalAuthentication Face ID
Security (Keychain) Secure password storage
App Groups Shared data between app and widget
UserDefaults Local data persistence

Project Structure

Finio/
β”œβ”€β”€ Models/
β”‚   └── Models.swift              # Transaction, SpendingCategory, Bill, SavingsGoal
β”œβ”€β”€ ViewModels/
β”‚   └── BudgetViewModel.swift     # Core app state and business logic
β”œβ”€β”€ Views/
β”‚   β”œβ”€β”€ DashboardView.swift       # Main dashboard with charts and overview
β”‚   β”œβ”€β”€ AddNotificationView.swift # Notification parsing and transaction entry
β”‚   β”œβ”€β”€ HistoryAndBudgetsView.swift # Transaction history and budget management
β”‚   β”œβ”€β”€ AccountView.swift         # Bills, goals, income, settings
β”‚   β”œβ”€β”€ SettingsView.swift        # App settings and preferences
β”‚   β”œβ”€β”€ OnboardingView.swift      # Onboarding flow, auth, sign in
β”‚   β”œβ”€β”€ ContentView.swift         # Root tab navigation
β”‚   └── DesignSystem.swift        # Shared UI components and design tokens
β”œβ”€β”€ Services/
β”‚   β”œβ”€β”€ NotificationParser.swift  # Core parsing engine
β”‚   β”œβ”€β”€ NotificationManager.swift # Push notification handling
β”‚   └── FinioIntents.swift        # Siri / AppIntents integration
└── FinioWidget/
    └── FinioWidget.swift         # Home screen widget

Getting Started

Requirements

  • Xcode 15+
  • iOS 17+
  • Apple Developer account (for device testing)

Setup

  1. Clone the repo
git clone https://github.com/Steven6Brown/finio-ios.git
cd finio-ios
  1. Open in Xcode
open Finio.xcodeproj
  1. Set your development team in Signing & Capabilities for both the Finio and FinioWidgetExtension targets

  2. Make sure both targets have the App Group group.com.stevenbrown.Finio in Signing & Capabilities

  3. Build and run on your device

Note: The debug reset block in FinioApp.swift wipes all data on every launch during development. Remove the #if DEBUG block before releasing.


Supported Banks

Discover Β· Chase Β· Amex Β· Capital One Β· Bank of America Β· Wells Fargo Β· Citi Β· US Bank Β· PNC Β· TD Bank Β· Navy Federal Β· Apple Card Β· PayPal Β· Venmo Β· Cash App Β· Zelle Β· and more


Privacy

Finio is built with privacy as a core principle:

  • βœ… No bank credentials ever required
  • βœ… No internet connection needed
  • βœ… No analytics or tracking
  • βœ… No data ever leaves your device
  • βœ… All data stored locally with App Groups
  • βœ… Password stored securely in iOS Keychain

License

Copyright Β© 2026 Aquila Digital. All rights reserved.

This code is proprietary and shared publicly for portfolio and demonstration purposes only. No permission is granted to use, copy, modify, distribute, or create derivative works from this software without explicit written consent from Aquila Digital.

Interested in licensing or acquiring rights to this project? Reach out via Aquila Digital.


Author

Steven Brown Portfolio Β· GitHub

About

Privacy-first iOS budget tracker that parses bank notifications automatically. No bank login required - all data stays on your device.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors