LifeDots
A beautiful live wallpaper that visualizes your year, one dot at a time.
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
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
- Footer text with custom message, font size, alignment, and color
- Goal countdown — add important dates with countdown display
- Position & scale controls for perfect placement
Installation
From Releases
- Download the latest APK from Releases
- Install on your Android device
- 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
app/
├── src/main/java/com/example/lifedots/
│ ├── MainActivity.kt # App launcher
│ ├── SettingsActivity.kt # Compose UI settings
│ ├── preferences/
│ │ └── LifeDotsPreferences.kt # SharedPreferences wrapper
│ ├── wallpaper/
│ │ └── LifeDotsWallpaperService.kt # Live wallpaper engine
│ └── ui/
│ ├── components/ # Reusable Compose 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
---
