Skip to content

swami8791/chore-champ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ChoreChamp 🏠✨

A beautiful, offline-first mobile app for managing household chores with automatic member rotation, smart reminders, and friendly leaderboards.

✨ Features

Core Functionality

  • 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

User Experience

  • 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

πŸ›  Tech Stack

Framework & Runtime

  • 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

State & Storage

  • Zustand 5.0.4 - Lightweight state management
  • AsyncStorage - Persistent local storage
  • MMKV - Fast key-value storage

UI & Styling

  • NativeWind 4.1.23 - TailwindCSS for React Native
  • React Native Reanimated 3.17.4 - Smooth animations
  • Expo Linear Gradient - Beautiful gradients
  • Ionicons - Icon system

Navigation

  • React Navigation 7.x
    • Native Stack Navigator
    • Bottom Tabs Navigator
    • Drawer Navigator support

πŸ“¦ Installation

Prerequisites

  • Node.js 18+ (LTS recommended)
  • Bun (or npm/yarn)
  • iOS Simulator (macOS) or Android Emulator

Setup

# 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

πŸš€ Usage

First-Time Setup

  1. Launch the app
  2. Enter your household name
  3. Add family members with custom avatars and colors
  4. Tap "Get Started! πŸŽ‰"

Adding Chores

  1. Navigate to Dashboard
  2. Tap the "+" button
  3. Choose from 12 templates or create custom
  4. Set recurrence (daily/weekly/bi-weekly/monthly)
  5. Select members for rotation
  6. Configure reminder time

Managing Themes

  1. Go to Settings
  2. Choose Light, Dark, or System (auto)
  3. Theme applies instantly across all screens

πŸ“ Project Structure

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

πŸ“± Available Scripts

# 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

🎨 Design Philosophy

User-Centered

  • No Login Required - Privacy-first, works offline
  • Instant Gratification - See results immediately
  • Positive Reinforcement - Celebrate contributions, not competition
  • Family-Friendly - Designed for all ages

Technical Excellence

  • Type-Safe - Strict TypeScript throughout
  • Performance - 60 FPS animations, optimized rendering
  • Maintainable - Clean architecture, modular components
  • Accessible - (In progress - see roadmap)

πŸ”„ Data Flow

User Action β†’ Zustand Store β†’ AsyncStorage (Persistence)
                ↓
         UI Auto-Updates (React)
                ↓
    Notification Scheduler (Background)

🎯 Key Features in Detail

Chore Rotation System

  • Members are assigned in order based on rotation array
  • Completion advances to next member automatically
  • Rotation index persists across app restarts
  • Fair distribution guaranteed

Notification System

  • 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

Theme System

  • 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

πŸ› Known Issues

  • No testing framework configured yet
  • Limited error boundaries
  • Console.log statements need replacing with proper logging
  • Accessibility labels incomplete

πŸ—Ί Roadmap

Short-term

  • Add error boundaries
  • Implement proper error handling
  • Add accessibility labels
  • Set up testing framework (Jest + React Native Testing Library)

Medium-term

  • Export/import data functionality
  • Cloud sync (optional)
  • Multi-household support
  • Chore history analytics

Long-term

  • Widget support
  • Apple Watch companion
  • Gamification enhancements
  • AI-powered chore suggestions

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support

For issues, questions, or suggestions:


Made with ❀️ for organized households

About

A tool for the whole family!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors