Skip to content

Daily kindness companion app built with Jetpack Compose. Track streaks, get personalized prompts, and build positive habits that create community impact.

License

Notifications You must be signed in to change notification settings

3th1K/KindSpark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

KindSpark 🌟

A daily kindness companion app that inspires users to perform acts of kindness and track their positive impact on the world.

πŸ“± About

KindSpark is an Android application built with Jetpack Compose that encourages users to practice daily acts of kindness. The app provides daily kindness prompts, tracks completion streaks, and helps users build a habit of spreading positivity in their communities.

✨ Features

🎯 Daily Kindness Prompts

  • Personalized Daily Challenges: Get a unique kindness prompt every day
  • Smart Selection: Prompts adapt based on previously skipped activities
  • Diverse Categories: Activities spanning social, family, community, workplace, environmental, and digital kindness

πŸ“Š Progress Tracking

  • Streak Counter: Track consecutive days of completed kindness acts
  • Achievement System: Celebrate milestones (3, 7, 14, 21, 30, 50, 100 day streaks)
  • Activity History: View past completed kindness activities
  • Favorites: Mark and revisit your favorite kindness experiences

πŸ”” Smart Notifications

  • Daily Reminders: Customizable notification scheduling
  • Motivation Messages: Encouraging prompts to maintain your kindness streak
  • Background Scheduling: WorkManager ensures reliable notification delivery

🎨 Personalization

  • Multiple Themes: Light, Dark, and custom color schemes
  • Calming Backgrounds: Optional serene visual experiences
  • Customizable Settings: Tailor the app to your preferences

πŸ“ Journal Features

  • Personal Notes: Add reflections to completed kindness activities
  • Emotional Tracking: Record how acts of kindness made you feel
  • Memory Preservation: Build a personal archive of positive moments

πŸ—οΈ Technical Architecture

Built With

  • Kotlin: Modern, expressive programming language
  • Jetpack Compose: Declarative UI toolkit for native Android
  • Material Design 3: Google's latest design system
  • MVVM Architecture: Clean separation of concerns

Key Libraries & Frameworks

  • Room Database: Local data persistence with SQLite
  • Navigation Compose: Type-safe navigation between screens
  • DataStore Preferences: Modern preference storage
  • WorkManager: Reliable background task scheduling
  • Lottie: Smooth animations and micro-interactions

Database Schema

  • KindnessPrompt: Core kindness activity templates
  • KindnessCompletion: User completion records with notes
  • UserProgress: Streak tracking and achievement data
  • DailyPromptSelection: Daily prompt selection history
  • SkippedPrompt: Tracking of skipped activities for smart suggestions

πŸ“‹ Requirements

System Requirements

  • Android Version: API 24+ (Android 7.0)
  • Target SDK: Android 14 (API 35)
  • Storage: ~50MB for app and user data
  • Permissions:
    • POST_NOTIFICATIONS - Daily reminder notifications
    • WAKE_LOCK - Reliable notification delivery
    • RECEIVE_BOOT_COMPLETED - Notification persistence after device restart

Development Requirements

  • Android Studio: Arctic Fox or newer
  • Kotlin: 1.9.0+
  • Java: JDK 11
  • Gradle: 8.0+

πŸš€ Installation

For Users

  1. Download the APK from the Releases page
  2. Enable "Install from Unknown Sources" in Android settings
  3. Install the APK file
  4. Launch KindSpark and start your kindness journey!

For Developers

# Clone the repository
git clone https://github.com/yourusername/kindspark.git

# Open in Android Studio
cd kindspark

# Build and run
./gradlew assembleDebug

🎯 How to Use

Getting Started

  1. First Launch: The app initializes with 1000 diverse kindness prompts
  2. Daily Prompt: Each day, receive a new kindness challenge
  3. Complete Activities: Mark prompts as completed and add personal notes
  4. Build Streaks: Maintain consecutive days of kindness for achievements
  5. Explore History: Review past activities and revisit favorites

Navigation

  • 🏠 Home: View today's kindness prompt and current streak
  • πŸ“š History: Browse completed activities and favorites
  • βš™οΈ Settings: Customize notifications, themes, and preferences

Pro Tips

  • Skip Wisely: Skipped prompts won't appear again the same day
  • Add Notes: Personal reflections enhance the experience
  • Set Reminders: Daily notifications help maintain consistency
  • Explore Themes: Customize the visual experience to your preference

πŸ—‚οΈ Project Structure

app/src/main/java/com/example/kindspark/
β”œβ”€β”€ data/                          # Data layer
β”‚   β”œβ”€β”€ KindnessDatabase.kt       # Room database configuration
β”‚   β”œβ”€β”€ KindnessRepository.kt     # Data repository pattern
β”‚   β”œβ”€β”€ KindnessPromptDao.kt      # Database access objects
β”‚   └── preferences/              # DataStore preferences
β”œβ”€β”€ ui/                           # Presentation layer
β”‚   β”œβ”€β”€ home/                     # Home screen & ViewModel
β”‚   β”œβ”€β”€ history/                  # History screen & ViewModel
β”‚   β”œβ”€β”€ settings/                 # Settings screen & ViewModel
β”‚   β”œβ”€β”€ theme/                    # App theming & design system
β”‚   └── icons/                    # Custom icon definitions
β”œβ”€β”€ notifications/                # Background notification system
β”œβ”€β”€ MainActivity.kt               # Main application entry point
└── SplashActivity.kt            # App launch screen

🎨 Design Philosophy

Kindness-First Approach

  • Gentle Encouragement: No guilt or pressure, only positive motivation
  • Accessibility: Simple, intuitive design for all users
  • Mindful Interactions: Every UI element promotes positive feelings

Visual Design

  • Calming Colors: Soft, warm color palettes that inspire tranquility
  • Clean Typography: Easy-to-read fonts with proper contrast
  • Smooth Animations: Subtle transitions that feel natural and responsive

πŸ”§ Configuration

Notification Settings

  • Frequency: Daily reminders at your preferred time
  • Custom Messages: Personalized motivation text
  • Quiet Hours: Automatic silence during specified periods

Theme Customization

  • Light/Dark Mode: System-based or manual selection
  • Color Schemes: Multiple pre-defined palettes
  • Background Options: Minimalist or calming nature themes

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

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

Code Style

  • Follow Kotlin Coding Conventions
  • Use meaningful variable and function names
  • Add comments for complex business logic
  • Write unit tests for new features

πŸ“Š Metrics & Analytics

User Engagement

  • Daily active users and retention rates
  • Completion rates by kindness category
  • Streak length distributions
  • Most popular kindness activities

Performance Monitoring

  • App launch time optimization
  • Database query performance
  • Notification delivery reliability
  • Crash reporting and resolution

πŸ”’ Privacy & Data

Data Collection

  • Local Storage Only: All user data remains on device
  • No Analytics Tracking: No personal information sent to servers
  • Transparent Permissions: Clear explanation of required permissions

Data Security

  • Encrypted Storage: User notes and progress securely stored
  • No Cloud Sync: Complete privacy with local-only data
  • User Control: Easy data export and deletion options

πŸ›£οΈ Roadmap

Version 2.0 (Planned)

  • Share Prompt: Share daily kindness prompts directly to social media with a tap
  • Kindness Feed (Optional): An anonymized feed showing "Others completed X today!"
  • User-Submitted Prompts: Allow users to contribute their own kindness prompt ideas

Version 2.5 (Future)

  • In-App Donations: Option to support the app’s mission via small tips
  • Unlockable Prompt Packs: e.g. β€œWorkplace Kindness Pack,” β€œKids Kindness Pack”
  • Cloud Backup: Sync streaks and history with Google account

πŸ“„ License

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

πŸ™ Acknowledgments

  • Community Contributors: Thank you to all developersAI Agents who've contributed
  • Inspiration: Built to promote mental health and community connection
  • Open Source Libraries: Grateful for the amazing Android development ecosystem

πŸ“ž Support

Getting Help

Frequently Asked Questions

Q: How are daily prompts selected? A: The app uses a smart algorithm that considers your completion history and ensures variety across different kindness categories.

Q: What happens to my data if I uninstall the app? A: All data is stored locally and will be permanently deleted when the app is uninstalled. Consider exporting your history first.

Q: Can I suggest new kindness activities? A: Yes! Please open an issue with the "enhancement" label to suggest new prompts.


Made with ❀️ to spread kindness in the world

Version: 1.0.0
Last Updated: August 2025
Minimum Android Version: 7.0 (API 24)
Package: com.example.kindspark

About

Daily kindness companion app built with Jetpack Compose. Track streaks, get personalized prompts, and build positive habits that create community impact.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Languages