A comprehensive offline finance tracking app built with React Native and Expo. Track your expenses, manage your piggy bank savings, create savings goals, and collaborate on group savingsβall stored locally on your device.
- Real-time overview of total piggy bank balance
- Today's expenses and deposits at a glance
- Quick summary of all financial activities
- One-tap Dark/Light mode toggle with persistent preference
- Clean, modern card-based layout
- Add daily expenses with amount and description
- 7 categories: Food, Transport, Shopping, Bills, Entertainment, Health, Other
- Category-based chip selection for easy categorization
- Edit and delete expense entries with confirmation
- View expense history sorted by most recent
- See total expenses at the top
- Weekly and monthly expense reports with charts
- Track physical piggy bank deposits and withdrawals
- Toggle between Deposit and Withdrawal modes
- Add notes to each transaction
- Create multiple savings goals with daily targets
- Automatic monthly goal tracking with intelligent carry-over for shortfalls
- Example: Save β±20/day β β±600/month (auto-adjusts for month length)
- Progress tracking for each goal
- Mark goals as completed when reached
- View complete transaction history
- Create multiple savings groups (e.g., "Friends Vacation Fund", "Family Emergency")
- Add members when creating or editing groups
- Member chips with easy add/remove functionality
- Dropdown selector to choose which member is contributing
- Track each member's total contributions separately
- View recent contributions per group
- Edit and delete groups with cascade deletion protection
- Add, edit, and delete individual contributions
- See total group savings and per-member breakdowns
- Enhanced UI with rounded cards and shadows
- Switch between Weekly and Monthly views
- Three interactive chart types:
- Bar Chart: Financial overview (Expenses, Deposits, Withdrawals, Group savings)
- Line Chart: Expense trends over time with smooth curves
- Pie Chart: Expenses breakdown by category with percentages
- Net savings calculation (Income - Expenses)
- Expense breakdown by category with amounts
- Visual summaries of all financial data
- Color-coded charts for easy understanding
- Beautiful dark theme with enhanced contrast
- Light theme optimized for readability
- Toggle anywhere from home screen
- Persistent theme preference across sessions
- Smooth color transitions throughout app
- Theme-aware colors for all components
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI
- Expo Go app (for testing on physical device)
-
Install dependencies
npm install --legacy-peer-deps
Note:
--legacy-peer-depsflag is required due to peer dependency conflicts with react-native-svg -
Start the app
npx expo start
In the output, you'll find options to open the app in a
- development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
@react-native-async-storage/async-storage@2.1.0- Local data persistencereact-native-chart-kit@^6.12.0- Charts and graphsreact-native-svg@15.8.0- SVG rendering for charts@expo/vector-icons- MaterialIcons icon set
- Go to Expenses tab
- Tap the + (floating button) at bottom-right
- Enter amount and description
- Select category by tapping the chip
- Choose or edit the date (defaults to today)
- Tap Save
- Edit or delete expenses by tapping the action buttons on each item
- Go to Piggy Bank tab
- Toggle between Deposit or Withdrawal
- Enter amount and optional note
- Tap Add Entry
- View your total balance and transaction history
- In Piggy Bank tab, tap Add Goal button
- Enter goal name (e.g., "Emergency Fund", "New Phone")
- Set daily amount (e.g., β±20)
- The app calculates monthly target automatically based on days in the month
- Track your progress throughout the month
- At month end, tap Complete Month to:
- Mark as done if goal reached
- Carry over shortfall to next month if not reached (automatic calculation)
- Continue or delete completed goals
- Go to Groups tab
- Tap + (floating button) to create a new group
- Enter group name (e.g., "Beach Trip 2026")
- Add member names one by one:
- Type name and tap + button
- Members appear as chips
- Remove by tapping X on chip
- Must have at least one member to save
- Tap Save to create the group
- To add contributions:
- Tap Add Contribution on the group card
- Select member from dropdown
- Enter amount, optional note, and date
- Tap Save
- View each member's total and recent contributions
- Edit groups to add/remove members anytime
- Delete groups removes all associated contributions
- Go to Reports tab
- Choose This Week or This Month
- Switch between chart types:
- Bar Chart: Compare expenses, deposits, withdrawals, and group savings
- Line Chart: See expense trends day by day
- Pie Chart: Visual breakdown of spending by category
- Scroll down to see:
- Net savings calculation
- Detailed expense breakdown by category
PocketTrack/
βββ app/
β βββ (tabs)/
β β βββ index.tsx # Home Dashboard with stats
β β βββ expenses.tsx # Expense Tracking with categories
β β βββ piggybank.tsx # Piggy Bank & Savings Goals
β β βββ groups.tsx # Group Savings with members
β β βββ reports.tsx # Reports & Charts
β β βββ _layout.tsx # Tab Navigation (5 tabs, MaterialIcons)
β βββ _layout.tsx # Root Layout with ThemeProvider
βββ contexts/
β βββ ThemeContext.tsx # Dark/Light Mode Theme Provider
βββ types/
β βββ index.ts # TypeScript Interfaces
βββ utils/
β βββ storage.ts # AsyncStorage CRUD Operations
β βββ helpers.ts # Date & Currency Helpers
βββ components/
β βββ ui/ # Reusable UI Components
βββ constants/
β βββ theme.ts # Color Constants
βββ package.json # Dependencies
- MaterialIcons: Consistent icon system throughout the app
- Floating Action Buttons: Easy-to-reach add buttons on Expenses and Groups screens
- Modal Forms: Clean, centered forms with clear labels
- Card-based Layout: Modern card design with shadows and borders
- Category Chips: Interactive category selection with visual feedback
- Member Chips: Elegant member management with add/remove functionality
- Dropdown Selector: User-friendly member selection for contributions
- Empty States: Helpful messages with large icons when no data exists
- Responsive Design: Adapts to different screen sizes
- Color-coded Data: Easy-to-read financial information with semantic colors
- Tab Bar: Larger navigation bar (70px) with clear icons and labels
All data is stored locally using AsyncStorage:
- Expenses: All spending records with categories and dates
- Piggy Bank Entries: Deposits and withdrawals with notes
- Savings Goals: Active and completed goals with monthly tracking
- Group Savings: Groups with member lists and all contributions
- Group Contributions: Individual contribution records linked to groups and members
- Theme Preference: Dark/Light mode setting (persisted)
100% Offline: No internet connection required! Your data stays private and secure on your device. No servers, no cloud sync, complete privacy.
- Create goal: "Save β±20 per day"
- Each day, add β±20 deposit to piggy bank
- At month end with 30 days: Target = β±600 (β±20 Γ 30)
- If you saved β±580, shortfall of β±20 automatically carries to next month
- Next month (31 days) target = β±640 (β±20 Γ 31 + β±20 carry-over)
- System tracks everything automatically!
- Create group: "Beach Trip 2026"
- Add members: John, Mary, Sarah
- Track contributions over time:
- Week 1: John β±500, Mary β±500, Sarah β±500
- Week 2: John β±300, Sarah β±400
- Week 3: Mary β±600, Sarah β±200
- View totals: John β±800, Mary β±1,100, Sarah β±1,100
- Total saved: β±3,000
- Everyone can see who contributed what and when
- Set mental weekly spending limit (e.g., β±3,000)
- Track all expenses daily using the app
- Check Reports tab on Sunday:
- View "This Week" bar chart
- See line chart for daily trends
- Check pie chart for category breakdown
- Discover you spent:
- Food: β±1,200 (40%)
- Transport: β±600 (20%)
- Shopping: β±900 (30%)
- Other: β±300 (10%)
- Total: β±3,000 - right on budget!
- Adjust spending next week based on insights
- Create "Emergency Fund": β±50/day
- Create "New Laptop": β±30/day
- Create "Vacation Fund": β±20/day
- Total daily target: β±100/day
- Track each goal separately
- View progress on all goals in Piggy Bank tab
- Complete goals independently as you reach them
To learn more about developing your project with Expo, look at the following resources:
- Expo documentation: Learn fundamentals, or go into advanced topics with our guides.
- Learn Expo tutorial: Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
- Peer Dependency Fix: The
--legacy-peer-depsflag is required during installation due to react-native-svg peer dependency conflicts - Icon System: Switched from IconSymbol to MaterialIcons for better cross-platform compatibility
- Tab Navigation: 5 tabs with consistent 70px height for better usability
- Theme Colors: Enhanced dark mode contrast for better readability
- Data Models: Well-structured TypeScript interfaces for type safety
- Storage Pattern: Consistent async/await patterns with AsyncStorage
- Use
npm install --legacy-peer-depsinstead of regularnpm install - Clear cache:
npm cache clean --forcethen retry
- Make sure you're using MaterialIcons from
@expo/vector-icons - Icons are properly configured in tab navigation
- Theme toggle is on the home screen (top-right)
- Theme preference is saved automatically
- AsyncStorage requires proper async/await handling (already implemented)
- Check console for any storage errors
Built with β€οΈ using React Native, Expo, and TypeScript
Currency: Philippine Peso (β±)
Language: English
Platform: iOS & Android (via Expo Go)
Happy Saving! π°β¨