Premium Dynamic Wallpapers for iOS and Android Lock Screens.
LifeGrid generates high-resolution, data-driven wallpapers that help you visualize your time, goals, and life progress directly on your iPhone or Android lock screen. Designed to sit perfectly between the time, widgets, and dynamic island.
-
Dynamic Visuals
- Year Progress: 365 dots representing every day of the year. Active day highlighted.
- Life Calendar: Every week of your life (up to 80+ years) in a single grid.
- Goal Countdown: Circular progress tracker for your biggest targets.
-
Pixel-Perfect
- Native resolution generation for all modern iPhones (13 mini to 16 Pro Max).
- Smart layout adjustments for Notch vs Dynamic Island devices.
- Retina-quality live previews (+10% contrast boost filter).
-
Architecture
- Frontend: Lightweight Vanilla JS & CSS. No frameworks, instant load.
- Backend: Serverless Cloudflare Worker with Rust-based SVG rendering (
resvg). - Security: Strict Zod schema validation & XSS protection.
- Node.js & npm
- Cloudflare Wrangler CLI (
npm install -g wrangler)
Navigate to the worker directory and install dependencies:
cd worker
npm installRun locally:
npx wrangler devDeploy to Cloudflare:
npx wrangler deployThe frontend is a static site. You can serve it with any static file server.
# From project root
npx serve .Open http://localhost:3000 to see the wallpaper generator.
All inputs are sanitized and validated before processing:
- Zod Schema: Ensures dimensions, colors, and dates strictly adhere to safe formats.
- Output Encoding: Text inputs are XML-escaped to prevent injection.
- Resource Limits: Max dimensions and memory usage capped to prevent DoS.
Automatically adjusts for:
- Dynamic Island: iPhone 14 Pro/Pro Max, 15 series, 16 series.
- Notch: iPhone 13 series, 14/14 Plus.
- Compact: iPhone 13 mini.
lifegrid/
βββ index.html # Frontend (Apple-inspired dark theme)
βββ styles.css # Black & white aesthetic with ruler borders
βββ app.js # Card selection, preview, URL generation
βββ data/
β βββ countries.js # 65+ countries with timezones
β βββ devices.js # Device resolution presets
βββ worker/
βββ wrangler.toml # Cloudflare Worker config
βββ package.json # Dependencies (resvg-wasm)
βββ src/
βββ index.js # Main entry point
βββ timezone.js # Timezone utilities
βββ svg.js # SVG generation helpers
βββ generators/
βββ year.js # Year progress calendar
βββ life.js # Life calendar (dots)
βββ goal.js # Goal countdown (circle)
GET /generate?country=us&type=year&bg=000000&accent=FFFFFF&width=1179&height=2556
| Param | Description |
|---|---|
country |
ISO 2-letter code (us, in, gb) |
type |
year, life, or goal |
bg |
Background color (hex without #) |
accent |
Accent color (hex without #) |
width |
Image width in pixels |
height |
Image height in pixels |
dob |
Date of birth for life calendar |
lifespan |
Expected years (default: 80) |
goal |
Target date for countdown |
goalName |
Name of your goal |
- Copy your generated URL
- Open Shortcuts app
- New Shortcut:
Get Contents of URLβ paste URLSet Wallpaperβ Lock Screen
- Automate to run daily at 6 AM
- Copy URL: Configure your wallpaper above and copy the generated URL
- Prerequisites: Install MacroDroid from Google Play Store.
- Setup Macro: Trigger: Date/Time β Day/Time (00:01:00) β Active all weekdays
- Configure Actions:
- 4.1 Download Image
Web Interactions β HTTP Request (GET)
Paste URL. Enable "Block next actions"
Tick "Save response" β/Download/lifegrid.png - 4.2 Set Wallpaper
Device Settings β Set Wallpaper
Select/Download/lifegrid.png
β οΈ Use exact same filename
- 4.1 Download Image
- Finalize: Give macro a name β Tap Create Macro
Contributions are welcome! If you have ideas for new features or bug fixes, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name. - Make your changes and commit them:
git commit -m 'Add some feature'. - Push to the branch:
git push origin feature/your-feature-name. - Submit a pull request.
Please ensure your code follows the existing style and includes appropriate tests.
If you find this project useful, please consider giving it a star! It helps others discover the project.
License: Apache License 2.0
Made with β€οΈ for mindful living
#ios #iphone #wallpaper #productivity #motivation #calendar #year-progress #life-grid #goal-tracking #cloudflare-workers #serverless #javascript #svg #design #minimalism
