2026-06-24 · 3 MIN READ
Replacing the home screen
A launcher and a game that read as one product, because they share the same storage and the score shows up with no sync plumbing at all.
Smereski Launcher is a full Android home-screen replacement, not a third-party desktop pinned over the real one. It registers the HOME intent, takes over the home button, and runs as the device's default shell once you select it in settings. That is the difference between decorating the home screen and being the home screen.
It covers the launcher basics — an app drawer, categorized apps, search, a clock, and weather pulled by location — and shares assets and theme tokens with my match-three game Glitchy Matchy, so the launcher and the game stay visually aligned as either one iterates.
The part I like is the score widget, because of what it does not do. The widget shows your Glitchy Matchy high scores on the home screen by reading the same key-value storage the game writes to. There is no sync round-trip and no background service shuttling data between two apps — a clear in the game updates the home screen because both halves are reading and writing the same store. Owning both ends of the seam is what lets the seam disappear.
It is native Android — Kotlin, Material 3, minimum SDK 24 — and it ships through my own store like the rest of the family. The lesson is small and repeats everywhere I control both sides of an integration: the cheapest way to sync two things is to not sync them, and instead let them share the one source of truth they both already trust.
- 01Smereski Launcher — project page
The home-screen replacement and its live score widget.
/projects/smereski-launcher
- 02
- 03The combination lock on the title screen
Companion: the hidden layer inside the paired game.
/blog/jazzy-secrets
- 04Android HOME intent
How an app registers as the device launcher.
https://developer.android.com/guide/components/intents-common#Home