Your home screen is a file.
Reflow is an Android launcher whose whole layout lives in one file, launcher.json. Rearrange apps on your phone and the file updates. Edit the file on your computer, or let an agent edit it, and the phone updates.
Both sides are the same layout. Change either one and the other reflows.
One file, edited from wherever you are.
Arrange it on the phone
Long-press, drag, drop. The launcher writes every change back to launcher.json in its canonical form, so your diffs stay clean.
Edit it on your computer
Keep the folder in git. Pull, edit the JSON, run scripts/validate.py, push. A git app on the phone syncs it and the home screen follows.
Hand it to an agent
The schema is published and the rules are written down, so an AI agent can arrange your apps for you. You review the change like any other commit.
One folder. Nothing else.
You pick a folder with Android's own folder picker, and Reflow reads and writes only launcher.json and its own .configlauncher/ notes inside it. You can revoke that access whenever you like.
- No storage permission, no
QUERY_ALL_PACKAGES, no Accessibility service. - No internet fetches. Widgets show data your agent writes into the folder.
- Android 10 and later, built with Kotlin and Jetpack Compose.
- Same rules everywhere. The validator on your computer reports the same errors, in the same words, as the phone.
Your layout gets a history.
Git is the recommended way to sync. The phone commits its own edits through a git app, so pull before you change anything.
Every layout you've ever had is a commit away.
# every time git pull --rebase # edit launcher.json, then python3 scripts/validate.py --format launcher.json git commit -am "Move Camera to the dock" git push