SpendeySense is a local-first mobile app for turning imported financial statement history into useful, private insights.
It helps users:
- import CSV statement history from bank accounts and credit cards
- review spending, merchants, recurring charges, and historical patterns
- track debt payments, interest, and payoff scenarios
- keep financial history on-device by default
Most personal finance apps either require bank connectivity, push everything to the cloud, or blur historical imports with current balances.
SpendeySense takes a different approach:
- local-first storage with on-device SQLite
- explicit imported-history analysis
- debt and recurring-spend visibility without pretending to be a live bank feed
- a product structure that can stay useful even before any cloud features exist
SpendeySense may eventually offer optional on-device AI features for supported Apple and Android devices.
The intended product boundary is:
- on-device only
- opt-in only
- additive to the local-first experience
- never required for the core app
That means users should be able to keep using SpendeySense without enabling any AI features, and any future on-device AI path should be explicit rather than automatic.
The app is actively in development.
Today it supports:
- multiple CSV statement formats
- multi-file import queues
- duplicate detection and duplicate review
- merchant and recurring-spend insights
- debt trend analysis and payoff estimation
- optional app lock with biometrics or a local PIN
|
|
|
|
- Expo
- React Native
- Expo Router
- SQLite on-device
apps/mobile/mobile applicationapps/mobile/docs/adding-statement-format.mdparser contribution guideapps/mobile/fixtures/statements/tiny anonymized CSV fixtures
cd apps/mobile
npm install
npx expo startUseful commands:
npm run lint
npm run validate:fixturesThe parser system is designed so contributors can add or improve bank formats without understanding the full application.
For most parser contributions, you only need to touch:
apps/mobile/utils/import/parsers/apps/mobile/utils/import/statementFormats.tsapps/mobile/fixtures/statements/apps/mobile/scripts/validate-statement-fixtures.ts
Start here:
SpendeySense is built as a local-first product.
Current app behavior:
- financial data is stored locally on the user’s device
- imports are processed on-device
- no cloud account is required for the core app experience
If that changes in the future, it should be explicit, opt-in, and additive rather than replacing the local-first experience.
The same standard applies to any future on-device AI features:
- they should run locally on the device when offered
- they should be optional
- users should knowingly opt in before using them
SpendeySense is software for information, organization, and personal financial analysis.
It is not financial advice, investment advice, legal advice, tax advice, accounting advice, credit counseling, or any other professional advice.
Users are solely responsible for:
- reviewing imported data
- verifying transaction classifications and forecasts
- deciding whether to act on any insights, estimates, or scenarios
- consulting a qualified professional where appropriate
Debt projections, recurring-charge detection, merchant cleanup, transfer matching, and related analytics are estimates based on available data and heuristics. They may be incomplete, inaccurate, or unsuitable for a user’s specific situation.
This project is licensed under the MIT License. See LICENSE.



