I built a Zune-style Android launcher with a merit-counter easter egg
Somewhere around 2006, Microsoft shipped a portable media player that most people
remember as "the one that lost to the iPod." But if you were into design, Zune's
Metro aesthetic was unforgettable: stark white backgrounds, huge thin-serif
clocks, flat tiles, bold color blocks slashed at sharp angles. No gradients, no
shadows, no ornament. Just type, color, and edge.
Twenty years later, Android launchers all look the same — icon grids, widget
stacks, blur-everything wallpapers. I wanted the old Metro feeling back on my
phone, so I wrote my own. It's called MyLauncher, it's tiny, and it hides a
silly easter egg: every time you try to back out of the home screen, you earn
one unit of "merit" (功德).
What it looks like
- Portrait: a huge thin-serif clock in the center, app names stacked in ultra-bold vertical rows below it.
- Landscape: clock pinned to the bottom-left, icons in a single vertical line, names right-aligned.
- Wallpaper is a generative 62° diagonal color slash with sharp edges and a hard-edged ring — drawn directly on Canvas, no blur, no image assets.
What makes it different
Zero-frills rendering. The whole UI is hand-drawn with Jetpack Compose
basics — BasicText, BasicCanvas, no Material theme, no dependencies to
speak of. The launcher registers itself as a system HOME, filters out
icon-less system shells, and pre-loads your common apps on first boot.
Monochrome icons. Instead of a jumbled rainbow grid, every app icon is
converted from its real bitmap to a single-color glyph: brightness → alpha,
pure white output, with memory + disk caching. It looks like a typeset poster
instead of a shopping mall.
Custom gestures, all hand-rolled. Long-press blank space opens settings;
swipe up on blank space pulls the drawer; long-press a row to replace, rename,
or drag-reorder apps. Persisted with DataStore, real-time adjustable icon
size / font size.
The merit-counter easter egg
Here's the part that made this project fun. In Chinese internet culture,
"功德+1" (merit +1) is a meme phrase — you tap a virtual wooden fish (木鱼)
and the counter goes up, accumulating merit for your soul.
In MyLauncher, the system back gesture on the home screen doesn't exit —
instead, a bubble pops out from the top of the clock reading 功德+1, a
muyu knock sound plays, and the counter persists per-day for 365 days. There's
a full merit history table in the settings.
So every time you instinctively swipe back to leave, you earn merit instead.
You can't quit the desktop — you can only accumulate virtue.
I built it for one person (me), but it's open source, MIT, and free to build:
- GitHub: https://github.com/theBigGavin/mylauncher?utm_source=devto&utm_medium=post&utm_campaign=mylauncher-launch
- Build:
./gradlew :app:assembleDebug(JDK 17, minSdk 26) - Release APKs are on the GitHub releases page.
A tiny note on who made it
MyLauncher is made by Gavin's Lab — a one-person company run by 9 AI
agents coordinated on a kanban board. The whole operation is transparent:
company site and a
live transparency office showing who's
working on what, refreshed every 30 seconds.
If this launcher makes you smile, a star is the cheapest merit you'll ever earn.

Top comments (0)