LIVE DEMO: https://budgelyx-mobile-app.poyrazn8n.workers.dev
A local-first budget app for iOS and Android: transactions, monthly envelopes, subscriptions and savings goals, stored on the device.
Budgelyx · native-mobile-app-template · React Native source code
20 native screens: onboarding, 5 tabs (Statement, Ledger, Plan, Recurring, Goals) and 14 detail, form, sheet and settings screens including a not-found route
React Native + Expo SDK 57 + TypeScript source code for one native iOS and Android app with fictional demo data, local SQLite storage and automated domain tests; no backend, bank connection, account system or store listing is included.
WHO IT IS FOR
- React Native / Expo developers and small studios who want a working personal-budget app to rebrand and ship
- Freelancers building a budgeting or subscription-tracking app for a client who need tested money, date and persistence logic
Required skills: Comfortable with React Native, Expo and TypeScript, and with installing Xcode and/or Android Studio for native builds.
Not ideal for: Teams that need bank or card connections, cloud sync or user accounts out of the box (none are included); Buyers looking for a website, a Figma-only UI kit or a drag-and-drop app builder; Anyone expecting financial advice, investment data or payment processing.
WHAT YOU GET
20 native screens: onboarding, 5 tabs (Statement, Ledger, Plan, Recurring, Goals) and 14 detail, form, sheet and settings screens including a not-found route
- budgelyx/
- budgelyx/mobile/ (Expo app source, tests, brand assets and config)
- budgelyx/mobile/package.json
- budgelyx/mobile/package-lock.json
- budgelyx/README.md
- budgelyx/START-HERE.md
- budgelyx/BUYER-README.md
- budgelyx/BUYER-SCOPE.md
- budgelyx/CHANGELOG.md
- budgelyx/LICENSE.txt
- budgelyx/ASSET-CREDITS.md
- budgelyx/docs/ (customize, native build, data and integrations, testing, troubleshooting, source map)
- Native iOS and Android app: One React Native + Expo SDK 57 TypeScript codebase that builds a native iOS app and a native Android app; not a website or WebView. [included-working]
- Transaction capture: Record spending, income and refunds with a cents-first keypad, payee, envelope, date and note; edit, move between months and delete with undo. [included-working]
- Interrupted-entry restore: An unsaved new transaction is kept as a local draft and restored the next time Record opens, including after the app is closed. [included-working]
- Ledger with search and filters: Month-by-month ledger grouped by day with payee/note/envelope search, type filter and monthly net. [included-working]
- Monthly envelope plan: Assign money to Everyday, Bills and Annual envelopes per month; see left, over and ready-to-assign amounts; fill from targets or copy last month. [included-working]
- Carry-over rules: Optional per-envelope rollover: unspent money carries forward, overspending never does; annual envelopes always carry. [included-working]
- Monthly statement: Left-to-spend headline, income/spent/assigned/ready-to-assign lines, everyday pace chart, envelopes needing attention, upcoming renewals and spending breakdown. [included-working]
- Recurring payments: Weekly, monthly, quarterly and yearly plans anchored to their first billing date (month-end clamping), monthly equivalent, yearly cost, 30-day timeline, mark paid (records a ledger entry), skip, pause, resume and cancel. [included-working]
- Local renewal reminders: Optional local notifications scheduled on the device before renewals, with permission-denied handling; no push server. [included-working]
- Savings goals: Goals with target amount and optional date, deposits and withdrawals, progress and the monthly amount needed; deposits reduce ready-to-assign. [included-working]
- On-device SQLite storage: All data is stored in a local SQLite database (expo-sqlite) with schema versioning and is written after every change. [included-working]
- Backup, CSV export and restore: Export a full JSON backup or a CSV of transactions through the system share sheet, and restore a validated backup file. [included-working]
- Demo data and reset: Load a clearly labelled fictional demo household or erase everything from Settings. [included-working]
- Currency and rounding rules: 23 ISO currencies with 0, 2 or 3 decimal places stored as integer minor units; documented rounding; currency changes never convert values. [included-working]
- Light/dark themes and accessibility: Light, dark or system theme; screen-reader labels, 48 pt touch targets, Dynamic Type/font scaling and reduced-motion support. [included-working]
- Deep links: budgelyx:// links open screens such as Record, a month's plan or a recurring payment. [included-working]
WHAT WORKS IMMEDIATELY
- Native iOS and Android app: One React Native + Expo SDK 57 TypeScript codebase that builds a native iOS app and a native Android app; not a website or WebView. [included-working]
- Transaction capture: Record spending, income and refunds with a cents-first keypad, payee, envelope, date and note; edit, move between months and delete with undo. [included-working]
- Interrupted-entry restore: An unsaved new transaction is kept as a local draft and restored the next time Record opens, including after the app is closed. [included-working]
- Ledger with search and filters: Month-by-month ledger grouped by day with payee/note/envelope search, type filter and monthly net. [included-working]
- Monthly envelope plan: Assign money to Everyday, Bills and Annual envelopes per month; see left, over and ready-to-assign amounts; fill from targets or copy last month. [included-working]
- Carry-over rules: Optional per-envelope rollover: unspent money carries forward, overspending never does; annual envelopes always carry. [included-working]
- Monthly statement: Left-to-spend headline, income/spent/assigned/ready-to-assign lines, everyday pace chart, envelopes needing attention, upcoming renewals and spending breakdown. [included-working]
- Recurring payments: Weekly, monthly, quarterly and yearly plans anchored to their first billing date (month-end clamping), monthly equivalent, yearly cost, 30-day timeline, mark paid (records a ledger entry), skip, pause, resume and cancel. [included-working]
- Local renewal reminders: Optional local notifications scheduled on the device before renewals, with permission-denied handling; no push server. [included-working]
- Savings goals: Goals with target amount and optional date, deposits and withdrawals, progress and the monthly amount needed; deposits reduce ready-to-assign. [included-working]
- On-device SQLite storage: All data is stored in a local SQLite database (expo-sqlite) with schema versioning and is written after every change. [included-working]
- Backup, CSV export and restore: Export a full JSON backup or a CSV of transactions through the system share sheet, and restore a validated backup file. [included-working]
- Demo data and reset: Load a clearly labelled fictional demo household or erase everything from Settings. [included-working]
- Currency and rounding rules: 23 ISO currencies with 0, 2 or 3 decimal places stored as integer minor units; documented rounding; currency changes never convert values. [included-working]
- Light/dark themes and accessibility: Light, dark or system theme; screen-reader labels, 48 pt touch targets, Dynamic Type/font scaling and reduced-motion support. [included-working]
- Deep links: budgelyx:// links open screens such as Record, a month's plan or a recurring payment. [included-working]
WHAT NEEDS INTEGRATION
- payments: No payment processor; “Mark paid” only records a ledger entry and never moves money. [not-included]
- auth: No accounts or authentication; the app is single-user and on-device. [not-included]
- email: No email service. [not-included]
- cms: No CMS; copy lives in mobile/src/content/strings.ts. [not-included]
- booking: No booking service. [not-included]
- orders: No order backend. [not-included]
- backend: No server, sync or bank connection. Data stays in a local SQLite database; buyers who add sync must provide their own backend and costs. [not-included]
- mlsCrm: No MLS or CRM service. [not-included]
WHAT IS NOT INCLUDED
- Bank or card connection: No bank, card, Plaid or Open Banking connection; every transaction is entered by the user. [not-included]
- Cloud sync and accounts: No user accounts, login or multi-device sync; the storage layer is isolated so a buyer can add their own backend. [not-included]
- Budgelyx and every payee, service and amount in the demo data are fictional; replace the brand, identifiers, copy and demo data before shipping.
- No App Store or Google Play listing, signing identity or developer account is included; you build, sign and submit the app under your own accounts.
- The live demo is a static showcase of real app captures and install notes; the app itself runs on an iOS Simulator, an Android emulator or a device, not in a browser.
- English interface copy only; multilingual UI and RTL have not been validated.
- Not financial advice: the app records and plans the amounts you enter and provides no investment data.
CUSTOMIZATION WORKFLOW
- Unzip, then `cd mobile && npm ci`.
- Run `npm test` and `npm run typecheck`, then start the app in an iOS Simulator or Android emulator (`npx expo run:ios` / `npx expo run:android`).
- Rebrand in `mobile/src/config/brand.ts`, `mobile/src/config/theme.ts`, `mobile/assets/brand/` and the demo data in `mobile/src/data/demo.ts` (walkthrough in docs/CUSTOMIZE.md).
- Replace the demo bundle identifiers with your own and set up signing (docs/NATIVE-BUILD.md).
- Build release binaries locally or with your own EAS account and submit them under your own developer accounts.
DELIVERY AND INSTALL
- budgelyx-v1.0.0.zip · version 1.0.0
Node.js 22.13+ (tested with Node 24); Xcode 26+ for iOS (deployment target iOS 16.4); Android Studio with SDK 36 and JDK 17 for Android (minSdk 24). Open budgelyx.
Install: cd mobile && npm ci
Build: cd mobile && npm run typecheck && npm test && npx expo run:ios --configuration Release && npx expo run:android --variant release
Lockfile: mobile/package-lock.json. Package manager: npm.
LICENSE
LICENSE — Webloomery Template License v1.0 (effective 26 September 2026)
- One purchase, one end product: build one website or application for yourself or for one client.
- Modify the source for that end product. Its development, staging and production copies count as one end product.
- Team members and contractors on that end product may use the files, only for it.
- You may hand the finished project and the customized source it needs to that one client; the Template is then not reused for anyone else.
- Each additional website, application, end product or client needs another purchase.
- Not allowed: reselling, sharing, sublicensing or publicly publishing the Template source; turning it into a template, builder, code generator or reusable client-production system; reselling its components or assets separately.
- Third-party fonts, photographs and other assets keep their own licenses, listed in ASSET-CREDITS.md.
- Support and updates are separate from the license.
The full license text is included as LICENSE.txt in the download and published at https://webloomery.com/legal/license.
SUPPORT BOUNDARY
- Installing and running the delivered source as documented
- Questions about the documented app behavior and configuration files
Excluded: Custom features, backend or sync development; Apple/Google developer accounts, signing, store submission and review; Third-party service configuration.
No guaranteed response time.
No fixed support period is promised.
ASSET CREDITS
No stock photography, illustrations or AI-generated images. The app icon, splash and Android adaptive icons use the original Budgelyx mark; Atkinson Hyperlegible Next and Mono fonts (SIL Open Font License 1.1), Phosphor icons (MIT) and the npm dependencies keep their own licenses.
Read ASSET-CREDITS.md. Third-party materials retain their own licenses. Demo brands and content must be replaced before launch.