Personal Wellness & Finance Tracker
Your all-in-one companion for tracking habits, finances, and well-being.
UpWell is a cross-platform mobile application designed to help you build lasting healthy routines and financial discipline. With unified tracking across expenses, workouts, and mindfulness practices, UpWell keeps all aspects of your personal wellness in one place.
Key Highlights:
- Unified tracking for finances, health, and mindfulness
- Gamification system with XP, levels, and streaks
- Modern, customizable interface with light and dark themes
- Privacy-first approach with local SQLite storage
- Complete data ownership with export/import capabilities
Track your financial health with comprehensive expense logging and budget management.
- Expense Tracking — Log transactions with customizable categories
- Budget Monitoring — Set monthly budgets and track spending in real-time
- Savings Goals — Create financial goals with progress visualization
- Spending Analytics — Understand your spending patterns at a glance
Monitor your physical well-being and build consistent exercise habits.
- Workout Logging — Record exercises with duration, calories, and notes
- Hydration Tracking — Track daily water intake with visual progress indicators
- Meal Logging — Document meals with nutritional information
- Activity Streaks — Build consistency with daily streak tracking
Cultivate mental wellness through journaling and meditation practices.
- Meditation Sessions — Log guided meditations, timers, or breathing exercises
- Digital Journaling — Write unlimited entries with mood tracking
- Gratitude Practice — Daily gratitude logging for positive mindset cultivation
- Mood Tracking — Monitor emotional patterns over time
Stay motivated with a comprehensive progression system.
- Experience Points — Earn XP for every positive action across categories
- Level Progression — Advance through 12+ levels from Beginner to Immortal
- Multi-Category Streaks — Track streaks for financial, health, and mindfulness
- Streak Visualizer — GitHub-style heatmap showing your activity over time
- Visual Progress — See your growth across all life areas
Personalize your experience to match your preferences.
- Theme Options — Choose from automatic, light, or dark mode
- Style Variants — Select from modern, minimal, classic, or vibrant designs
- Flexible Goals — Customize daily targets for water, meditation, calories, and more
- Streak Modes — Toggle between challenge mode and easy mode
Your data stays yours, stored securely on your device.
- Local Storage — All data stored in a secure SQLite database
- Export/Import — JSON-based backup system for data portability
- No Limits — Store unlimited entries across all categories
- Privacy First — No cloud sync, no third-party access, complete control
Screenshots coming soon
- Node.js 18 or higher
- npm or yarn package manager
- Expo CLI (installed automatically with dependencies)
# Clone the repository
git clone https://github.com/yourusername/upwell.git
# Navigate to the project directory
cd upwell
# Install dependencies
npm installStart the development server:
npm startRun on specific platforms:
npm run ios # iOS simulator
npm run android # Android emulator
npm run web # Web browser# Android
npm run build:android
# iOS
npm run build:ios- Launch the app and create your profile
- Configure daily goals (water intake, meditation time, budget)
- Select your preferred theme and style variant
- Choose your streak mode preference
- Log activities throughout the day (expenses, workouts, meals, meditation)
- Earn experience points for completed actions
- Maintain streaks across different categories
- Review progress on your home dashboard
- Backup: Settings → Export Data → Save JSON file
- Restore: Settings → Import Data → Select backup file
- Reset: Settings → Advanced → Reset All Data
- React Native — Cross-platform mobile framework
- Expo — Development platform and build tooling
- TypeScript — Type-safe JavaScript
- React Context API — Global state management
- expo-sqlite — Local database
- AsyncStorage — Lightweight key-value storage
- React Navigation — Routing and navigation
- Expo Vector Icons — Icon library
- React Native Safe Area Context — Safe area handling
- date-fns — Date manipulation and formatting
- React Hooks — Modern React patterns
upwell/
├── src/
│ ├── components/ # Reusable UI components
│ │ ├── common/ # Buttons, cards, error boundaries
│ │ └── gamification/ # XP bars, streaks, level indicators
│ ├── constants/ # App configuration and constants
│ │ ├── gamification.ts # XP rewards, level thresholds, categories
│ │ └── theme.ts # Colors, spacing, typography
│ ├── context/ # React Context providers
│ │ ├── AppContext.tsx # Global application state
│ │ └── ThemeContext.tsx # Theme and style management
│ ├── lib/ # Core utilities and services
│ │ └── database.ts # SQLite operations and migrations
│ ├── navigation/ # Navigation configuration
│ │ └── MainNavigator.tsx
│ ├── screens/ # Application screens
│ │ ├── HomeScreen.tsx
│ │ ├── FinancialScreen.tsx
│ │ ├── HealthScreen.tsx
│ │ ├── MindfulnessScreen.tsx
│ │ ├── ProfileScreen.tsx
│ │ └── SettingsScreen.tsx
│ └── types/ # TypeScript type definitions
│ └── index.ts
├── assets/ # Static assets (images, icons, fonts)
├── app.json # Expo configuration
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
Contributions are welcome and appreciated. To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
- Write clean, typed TypeScript code
- Follow existing code patterns and conventions
- Test thoroughly on both iOS and Android
- Ensure UI consistency across light and dark themes
- Keep components modular and reusable
- Update documentation for new features
- Use functional components with React Hooks
- Implement proper TypeScript types for all props and state
- Follow React Native and Expo best practices
- Write self-documenting code with clear naming
This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.
Built with:
- Expo — Mobile development platform
- Expo Vector Icons — Icon library
- date-fns — Date utilities
- GitHub Copilot — AI pair programming (Claude Sonnet 4.5, Gemini 3 Flash)
For bug reports and feature requests, please open an issue.