"Because even statues move sometimes."
MoveM8 is a React Native mobile app that helps users build healthy movement habits through humor, gamification, and gentle nudges. Instead of being serious and intimidating, MoveM8 uses playful notifications and rewards to encourage activity.
- Motion Detection: Uses device sensors to detect inactivity periods
- Humorous Notifications: Randomized playful nudges with customizable tone
- Gamification: Points system and daily streaks for movement
- Privacy-First: No GPS tracking, only local sensor data
- Customizable Settings: Adjustable inactivity thresholds and humor styles
- Power Mode: Lock-screen step challenges
- Social Features: Friend challenges and accountability
- Environment-as-Game: Map-based movement adventures
MoveM8 uses a modular "agent" architecture:
- InactivityMonitorAgent - Tracks accelerometer/gyroscope/step data
- NotificationAgent - Delivers humorous nudges with randomized templates
- GamificationAgent - Manages points, streaks, and achievements
- PowerModeAgent (Future) - Lock-screen movement challenges
- SocialAgent (Future) - Friend matching and guilt pings
- SensorService - Handles motion sensor permissions and data
- StorageService - Persistent data storage with AsyncStorage
- Node.js 16+
- React Native development environment
- Android Studio (for Android development)
- Xcode (for iOS development)
-
Clone and install dependencies:
git clone <repository-url> cd move-m8 npm install
-
Install iOS dependencies (macOS only):
cd ios && pod install && cd ..
-
Start Metro bundler:
npm start
-
Run on device/emulator:
# Android npm run android # iOS npm run ios
MoveM8 requires these permissions:
- Motion Sensors: Detects activity/inactivity
- Push Notifications: Delivers humorous nudges
The app will request these permissions on first launch.
- Open MoveM8
- Grant motion and notification permissions
- Configure your preferences:
- Inactivity threshold (15/30/60 minutes)
- Humor tone (Snarky/Motivational/Lighthearted)
- Enable/disable gamification
- Monitoring: App runs in background detecting inactivity
- Nudges: Receive funny notifications when inactive too long
- Movement: Get rewarded with points for responding to nudges
- Streaks: Build daily movement streaks for bonus points
- Movement Response: 10 points per nudge response
- Streak Multipliers: 1.5x (3+ days), 2x (7+ days), 3x (30+ days)
- Levels: Advance every 100 points
- Daily consecutive activity tracking
- Bonus multipliers for longer streaks
- Reset on missed days (but progress saved)
- High Sensitivity (15 min): Quick detection, more frequent nudges
- Medium Sensitivity (30 min): Balanced approach
- Low Sensitivity (60 min): Gentle detection, fewer nudges
- Snarky 🤨: Sassy, playful messages
- Motivational 💪: Encouraging, positive messages
- Lighthearted 😇: Fun, gentle messages
MoveM8 is designed with privacy in mind:
- No GPS tracking - Only uses device motion sensors
- Local data storage - All data stays on your device
- No data sharing - No cloud sync or third-party sharing
- Minimal permissions - Only motion and notifications required
src/
├── agents/ # Core business logic agents
├── components/ # Reusable UI components
├── screens/ # Main app screens
├── services/ # Data and external services
├── types/ # TypeScript type definitions
├── utils/ # Helper utilities
└── constants/ # App constants and templates
- React Native: Cross-platform mobile development
- TypeScript: Type-safe development
- React Navigation: Screen navigation
- AsyncStorage: Local data persistence
- React Native Sensors: Motion detection
- Push Notifications: Local notifications
# Android APK
cd android && ./gradlew assembleRelease
# iOS (requires Xcode)
cd ios && xcodebuild -workspace MoveM8.xcworkspace -scheme MoveM8 -configuration Release- Day 1 Retention: ≥50%
- User Engagement: ≥3 notifications read daily
- Gamification Adoption: ≥70% using streaks within first week
- Viral Potential: ≥10% screenshot sharing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with ❤️ for healthier, happier lives
- Inspired by the need for fun approaches to wellness
- Special thanks to the React Native community
Ready to move more? Download MoveM8 today! 🚀