One alarm, not a service
The wallpaper changes exactly once a day, so it schedules exactly one battery-friendly midnight alarm instead of polling or idling in the background.
THE CLOCKWORK CABINET
The Year Drum · room 07 of 11
A little reminder that every day is going somewhere.
Life Calendar is a live wallpaper that renders your year as a grid of dots: white for days lived, orange for today, grey for the days left. It sits behind your icons and quietly ticks over at local midnight.
It ships as an Android APK in the repository, an iOS SwiftUI/WidgetKit project with a Shortcuts automation, a Python wallpaper generator, and a landing page with an interactive phone mockup, year inspector and one-click 4K wallpaper generator.
the wallpaper's mechanic — computed live for this year
A calendar counts days; a reminder has to make them visible. The design brief was a wallpaper that stays legible behind real app icons, updates itself without nagging the battery, and adapts to every screen's exact pixel geometry.
The engineering constraints were strict: render pixel-exact grids per device model, flip orientation gracefully (15×25 or 25×15), handle leap years across 2026–2031+, and update once at midnight with a single battery-friendly alarm — no polling, no services idling all night.
The year is mapped to a dot matrix — one dot per day, colour-coded by state — computed from the device calendar so leap years fall out naturally rather than being special-cased.
Rendering is pixel-exact per device model: the grid solves to the wallpaper's exact dimensions, and orientation changes re-solve the layout to the transposed 15×25 / 25×15 arrangements.
A single alarm fires at local midnight and repaints the wallpaper — the one update a day it needs — on both lock and home screens.
The wallpaper changes exactly once a day, so it schedules exactly one battery-friendly midnight alarm instead of polling or idling in the background.
Rather than scaling one bitmap, each device model gets a solved pixel-exact grid — the dots stay circular and evenly spaced on real hardware.
The 365/366-day range is derived from the calendar maths for 2026–2031+, not hard-coded per year.
Orange #FF5533 marks today — the same signal colour this portfolio uses for the current room, borrowed from this project.
every number here carries its source — my resume's figures and the synthetic-fixture results are marked for what they are