A beautiful, offline-first mobile app for managing household chores with automatic member rotation, smart reminders, and friendly leaderboards.
- Smart Chore Scheduling - Daily, weekly, bi-weekly, and monthly recurring chores
- Automatic Rotation - Fairly distribute tasks among household members
- Smart Reminders - Customizable notifications with advance warnings and daily summaries
- Leaderboard - Celebrate contributions with a non-competitive tracking system
- 12 Pre-configured Templates - Dishes, laundry, trash, and more
- Offline-First - Works completely offline, no login required
- Dark/Light Themes - Auto-switching system theme support
- Beautiful UI - Modern glassmorphic design with smooth animations
- Zero Setup Time - Start managing chores in under 60 seconds
- React Native 0.79.2 (with New Architecture enabled)
- React 19.0.0
- Expo SDK 53.0.9
- TypeScript 5.8.3 (strict mode)
- Bun - Fast package manager
- Zustand 5.0.4 - Lightweight state management
- AsyncStorage - Persistent local storage
- MMKV - Fast key-value storage
- NativeWind 4.1.23 - TailwindCSS for React Native
- React Native Reanimated 3.17.4 - Smooth animations
- Expo Linear Gradient - Beautiful gradients
- Ionicons - Icon system
- React Navigation 7.x
- Native Stack Navigator
- Bottom Tabs Navigator
- Drawer Navigator support
- Node.js 18+ (LTS recommended)
- Bun (or npm/yarn)
- iOS Simulator (macOS) or Android Emulator
# Clone the repository
git clone <your-repo-url>
cd chore-champ
# Install dependencies
bun install
# Start the development server
bun start
# Run on iOS
bun ios
# Run on Android
bun android- Launch the app
- Enter your household name
- Add family members with custom avatars and colors
- Tap "Get Started! π"
- Navigate to Dashboard
- Tap the "+" button
- Choose from 12 templates or create custom
- Set recurrence (daily/weekly/bi-weekly/monthly)
- Select members for rotation
- Configure reminder time
- Go to Settings
- Choose Light, Dark, or System (auto)
- Theme applies instantly across all screens
chore-champ/
βββ src/
β βββ api/ # API integrations (template features)
β βββ components/ # Reusable UI components
β β βββ AnimatedButton.tsx
β β βββ ConfirmModal.tsx
β β βββ ThemedCard.tsx
β β βββ TimePickerDial.tsx
β βββ screens/ # Main app screens
β β βββ AddChoreScreen.tsx
β β βββ DashboardScreen.tsx
β β βββ LeaderboardScreen.tsx
β β βββ MembersScreen.tsx
β β βββ SettingsScreen.tsx
β β βββ SetupScreen.tsx
β βββ state/ # Zustand stores
β β βββ choreStore.ts
β β βββ notificationStore.ts
β βββ types/ # TypeScript definitions
β β βββ chore.ts
β β βββ ai.ts
β βββ utils/ # Utility functions
β βββ theme.tsx
β βββ cn.ts
βββ assets/ # Images and static files
βββ .claude/ # Claude Code configuration
β βββ agents/
β βββ ios-developer.md
βββ App.tsx # Entry point
βββ app.json # Expo configuration
βββ eas.json # EAS Build configuration
βββ package.json # Dependencies
# Development
bun start # Start Expo dev server
bun ios # Run on iOS simulator
bun android # Run on Android emulator
bun web # Run in web browser
# Building (requires EAS CLI)
eas build --platform ios # Build for iOS
eas build --platform android # Build for Android- No Login Required - Privacy-first, works offline
- Instant Gratification - See results immediately
- Positive Reinforcement - Celebrate contributions, not competition
- Family-Friendly - Designed for all ages
- Type-Safe - Strict TypeScript throughout
- Performance - 60 FPS animations, optimized rendering
- Maintainable - Clean architecture, modular components
- Accessible - (In progress - see roadmap)
User Action β Zustand Store β AsyncStorage (Persistence)
β
UI Auto-Updates (React)
β
Notification Scheduler (Background)
- Members are assigned in order based on rotation array
- Completion advances to next member automatically
- Rotation index persists across app restarts
- Fair distribution guaranteed
- Due Time Notifications - When chore is scheduled
- Advance Reminders - 15/30/60/120 minutes before
- Daily Summary - Morning overview of today's tasks
- Quiet Hours - Customizable do-not-disturb periods
- Per-Recurrence Settings - Different configs for daily/weekly/monthly
- Light Mode - Soft pastels with pink/blue gradients
- Dark Mode - Aurora-inspired cyan/blue atmospheric effects
- System Mode - Auto-switches based on device settings
- Glassmorphic UI - Frosted glass cards with depth
- Smooth Transitions - Animated theme changes
- No testing framework configured yet
- Limited error boundaries
- Console.log statements need replacing with proper logging
- Accessibility labels incomplete
- Add error boundaries
- Implement proper error handling
- Add accessibility labels
- Set up testing framework (Jest + React Native Testing Library)
- Export/import data functionality
- Cloud sync (optional)
- Multi-household support
- Chore history analytics
- Widget support
- Apple Watch companion
- Gamification enhancements
- AI-powered chore suggestions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the 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 Expo
- Styled with NativeWind
- State managed with Zustand
- Icons from Ionicons
For issues, questions, or suggestions:
- Open an issue on GitHub
- Check the documentation
Made with β€οΈ for organized households