LifeDots

Project Url: humonious17/LifeDots
More: Author   ReportBugs   
Tags:

A beautiful live wallpaper that visualizes your year, one dot at a time.

Platform Kotlin Compose Min SDK License LifeDots - A Live life calendar that lives straight on your Lockscreen. | Product Hunt

Features • Installation • Customization • Contributing


About

LifeDots transforms your home screen into a meaningful reminder of time's passage. Each dot represents a day — filled dots are days lived, empty dots are days yet to come, and today pulses with possibility.

Inspired by the concept of time visualization and mindful living, LifeDots helps you appreciate each day while keeping perspective on the year as a whole.

"The proper function of man is to live, not to exist." — Jack London


Features

🆕 Life in Weeks (Memento Mori)

Visualize your entire lifespan week by week, inspired by the classic Memento Mori calendar:

  • Time Scale switcher: seamlessly toggle between Year in Days (365 days) and Life in Weeks (52 weeks × expected lifespan)
  • Precise birth date tracker with quick decade & multi-year date picker
  • Customizable life expectancy (50 to 100 years, e.g., 80 years = 4,160 weeks)
  • Lived weeks filled, current week distinctly highlighted, future weeks outlined
  • Mid-year split (26 + gap + 26 weeks) matching classic Memento Mori poster layouts
  • Year marker numbers (5, 10, 15... 80) along the edge
  • Header title ("MEMENTO MORI" with authentic Roman serif typography)
  • Footer philosophical quote (Seneca quote or custom reflection)
  • Life progress tracking: see % of life lived and weeks remaining in preview, settings, and wallpaper

Core Visualization

  • 365/366 dots representing each day of the year
  • Today highlighting with customizable accent color
  • Multiple view modes: Continuous grid, Monthly sections, or Calendar layout
  • Real-time updates at midnight

Themes & Colors

  • Light, Dark, and AMOLED themes
  • Fully custom colors for background, filled dots, empty dots, and today
  • Adjustable transparency for filled and empty dots independently

Dot Customization

  • 4 shapes: Circle, Square, Rounded Square, Diamond
  • 5 sizes: Tiny to Huge
  • 4 grid densities: Compact to Spacious
  • 6 styles: Flat, Gradient, Outlined, Soft Glow, Neon, Embossed

🆕 Animations

  • 6 animation types: Fade In, Pulse, Wave, Breathe, Ripple, Cascade
  • Adjustable speed and intensity
  • Battery-conscious implementation

🆕 Glass Effects

  • 5 frosted glass styles: Light Frost, Heavy Frost, Acrylic, Crystal, Ice
  • Customizable blur, opacity, and tint color
  • Beautiful layered aesthetics

🆕 Tree Growth Mode

Replace dots with a growing tree that represents your year:

  • 5 tree styles: Simple, Detailed, Bonsai, Sakura, Willow
  • Custom colors for trunk, leaves, and blossoms
  • Animated falling petals (Sakura)
  • Swaying branches (Willow)

🆕 Fluid Backgrounds

  • 5 animated backgrounds: Water, Lava, Mercury, Plasma, Aurora
  • Adjustable flow speed, turbulence, and color intensity
  • Smooth 60fps animations

Additional Features

  • Background images with blur and opacity controls
  • Year / Life Progress & Countdown — view completion percentage and remaining days/weeks with customizable format, decimal precision, position, font size, alignment, and color
  • Footer text with custom message, font size, alignment, and color (supports dynamic tags like {percent}, {remaining}, {passed}, {total}, {age})
  • Goal countdown — add important dates with countdown display
  • Position & scale controls for perfect placement


Installation

From Releases

  1. Download the latest APK from Releases
  2. Install on your Android device
  3. Long-press home screen → Wallpapers → Live Wallpapers → LifeDots

Build from Source

Prerequisites:

  • Android Studio Hedgehog or later
  • JDK 17 or higher
  • Android SDK 34+
# Clone the repository                                                                                                                                                                                                            
git clone https://github.com/yourusername/LifeDots.git                                                                                                                                                                            
                                                                                                                                                                                                                                  
# Open in Android Studio                                                                                                                                                                                                          
cd LifeDots                                                                                                                                                                                                                       
                                                                                                                                                                                                                                  
# Build debug APK                                                                                                                                                                                                                 
./gradlew assembleDebug                                                                                                                                                                                                           
                                                                                                                                                                                                                                  
# Or install directly to connected device                                                                                                                                                                                         
./gradlew installDebug                                                                                                                                                                                                            
                                                                                                                                                                                                                                  
---                                                                                                                                                                                                                               
Customization                                                                                                                                                                                                                     
                                                                                                                                                                                                                                  
View Modes                                                                                                                                                                                                                        
┌────────────┬──────────────────────────────────────────┐                                                                                                                                                                         
│    Mode    │               Description                │                                                                                                                                                                         
├────────────┼──────────────────────────────────────────┤                                                                                                                                                                         
│ Continuous │ All 365 dots in a seamless grid          │                                                                                                                                                                         
├────────────┼──────────────────────────────────────────┤                                                                                                                                                                         
│ Monthly    │ Dots grouped by month with labels        │                                                                                                                                                                         
├────────────┼──────────────────────────────────────────┤                                                                                                                                                                         
│ Calendar   │ Traditional calendar layout (3x4 or 4x3) │                                                                                                                                                                         
└────────────┴──────────────────────────────────────────┘                                                                                                                                                                         
Dot Styles                                                                                                                                                                                                                        
┌───────────┬────────────────────────────┐                                                                                                                                                                                        
│   Style   │           Effect           │                                                                                                                                                                                        
├───────────┼────────────────────────────┤                                                                                                                                                                                        
│ Flat      │ Solid color, clean look    │                                                                                                                                                                                        
├───────────┼────────────────────────────┤                                                                                                                                                                                        
│ Gradient  │ Subtle 3D shading          │                                                                                                                                                                                        
├───────────┼────────────────────────────┤                                                                                                                                                                                        
│ Outlined  │ Hollow dots with border    │                                                                                                                                                                                        
├───────────┼────────────────────────────┤                                                                                                                                                                                        
│ Soft Glow │ Gentle halo effect         │                                                                                                                                                                                        
├───────────┼────────────────────────────┤                                                                                                                                                                                        
│ Neon      │ Vibrant glowing edges      │                                                                                                                                                                                        
├───────────┼────────────────────────────┤                                                                                                                                                                                        
│ Embossed  │ Raised, tactile appearance │                                                                                                                                                                                        
└───────────┴────────────────────────────┘                                                                                                                                                                                        
Tree Styles                                                                                                                                                                                                                       
┌──────────┬─────────────────────────────────────┐                                                                                                                                                                                
│  Style   │             Description             │                                                                                                                                                                                
├──────────┼─────────────────────────────────────┤                                                                                                                                                                                
│ Simple   │ Classic evergreen silhouette        │                                                                                                                                                                                
├──────────┼─────────────────────────────────────┤                                                                                                                                                                                
│ Detailed │ Realistic oak with branches         │                                                                                                                                                                                
├──────────┼─────────────────────────────────────┤                                                                                                                                                                                
│ Bonsai   │ Elegant miniature with pot          │                                                                                                                                                                                
├──────────┼─────────────────────────────────────┤                                                                                                                                                                                
│ Sakura   │ Cherry blossoms with falling petals │                                                                                                                                                                                
├──────────┼─────────────────────────────────────┤                                                                                                                                                                                
│ Willow   │ Graceful weeping branches           │                                                                                                                                                                                
└──────────┴─────────────────────────────────────┘                                                                                                                                                                                
---                                                                                                                                                                                                                               
## Architecture

```text
app/
├── src/main/java/com/example/lifedots/
│   ├── MainActivity.kt              # App launcher & onboarding preview
│   ├── SettingsActivity.kt          # Compose UI settings orchestrator
│   ├── preferences/
│   │   ├── WallpaperModels.kt       # Domain models, progress calculators & enums
│   │   └── LifeDotsPreferences.kt   # SharedPreferences persistence & StateFlow
│   ├── wallpaper/
│   │   ├── LifeDotsWallpaperService.kt  # Live wallpaper engine lifecycle & orchestration
│   │   └── renderer/                    # Specialized visual effect & layout renderers
│   │       ├── DotGridRenderer.kt       # Grid layout, view modes & styled dot rendering
│   │       ├── TreeEffectRenderer.kt    # Seasonal tree growth simulation & species
│   │       ├── FluidEffectRenderer.kt   # Water, lava, mercury, plasma & aurora effects
│   │       ├── GlassEffectRenderer.kt   # Frosted glass, acrylic & ice effect renderer
│   │       ├── OverlayTextRenderer.kt   # Title, quote, footer, goals & progress text
│   │       └── WallpaperRendererModels.kt # ThemeColors, GridConfig & DotType models
│   ├── receiver/
│   │   └── DateChangeReceiver.kt    # Midnight & date change broadcast receiver
│   ├── util/
│   │   └── ImageUtils.kt            # Bitmap decoding, scaling & blur utilities
│   └── ui/
│       ├── components/              # Dialogs (ColorPicker, DatePicker, GoalEditor)
│       ├── settings/                # Modular settings sections & components
│       └── theme/                   # Material 3 theming

Tech Stack

  • Language: Kotlin 2.0
  • UI Framework: Jetpack Compose (Settings)
  • Wallpaper Engine: Android Canvas API
  • State Management: SharedPreferences + StateFlow
  • Serialization: Gson (for goals)
  • Min SDK: 26 (Android 8.0)
  • Target SDK: 35 (Android 15)

Performance

LifeDots is designed to be battery-efficient:

  • Static mode: Near-zero battery impact
  • Animations: Optimized render loop, pauses when not visible
  • Fluid effects: 60fps with frame skipping on lower-end devices
  • Background images: Cached and scaled appropriately

Roadmap

  • Widgets for home screen
  • Week/Month/Decade view modes
  • Import/Export settings
  • Wear OS companion app
  • Additional tree species
  • Particle effects
  • Yearly themes (seasons)

Contributing

Contributions are welcome! Here's how you can help:

  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

Guidelines

  • Follow existing code style
  • Write meaningful commit messages
  • Test on multiple screen sizes
  • Update documentation as needed

Ideas for Contribution

  • New dot shapes or styles
  • Additional tree/plant types
  • Localization (translations)
  • Accessibility improvements
  • Performance optimizations

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools
AI Daily Digest