Roost v0.9.0 — the unified tile launcher
Roost turns a spare Android phone into a dedicated device for your AI agent — it boots into your agent app and keeps your apps, web apps, and one-tap actions a tap away. It's framework-only: pure Android, no AndroidX, no Compose, no third-party libraries. This is the first tagged release.
Docs: https://joestump.github.io/roost-android-launcher/
✨ One unified tile model (new in 0.9.0)
Everything on the home except the featured agent is now one uniform grid of tiles — favorite apps, web apps, app-shortcuts, Home Assistant scenes, and HTTP actions all render the same way, in one order you arrange yourself.
- Every tile has three lines — a title, a metadata subtitle, and an action line. Apps show their category ("Productivity", "Social & Communication"), web tiles their host, HTTP tiles
METHOD · host, shortcuts "shortcut". - Filter by kind — a chip row (All / Apps / Web / Shortcuts / HTTP / Scenes) narrows the home; pick which chips appear in Settings → Appearance → Launcher filters.
- One density for everything — Slim list, Regular cards, or a Rich two-column grid; every tile reshapes together.
- Arrange Tiles — a flat drag-to-reorder + on/off list over every tile, apps included (favorites are manually orderable now).
- Accent-tinted agent hero, whole-tile tap, and a dotted-circle Store tile.
🔘 HTTP action tiles
Any endpoint becomes a one-tap tile — method + URL + headers + None/Bearer/HMAC auth + a {{var}} JSON body — with an on-tile firing state machine (idle → pending → success/queued → error → timeout), no toasts. Home Assistant scenes are one authoring path onto the same primitive. A framework-only icon picker (selfh.st / Simple Icons / Heroicons) tints monochrome glyphs to your accent.
🗂️ Synced actions
An agent can create action tiles by simply writing actions.d/*.json into a Syncthing-shared folder Roost imports — declarative (add/edit/remove a file), no on-phone server, hand-made tiles never touched.
⚙️ Settings & polish
A landing + per-category settings redesign; per-tile enable/disable & hide; <shortcut> in <App> shortcut titles; four accent themes (Honey / Slate / Sage / Violet) with a matching wallpaper; a live VPN status chip (one-tap WireGuard toggle when "Allow remote control apps" is on); a bandwidth heartbeat; a robot mascot that reads "working…" from live traffic.
📦 Install
Attached roost-0.9.0.apk is a debug build — enable "install unknown apps", sideload it, then make it Home:
adb install -r roost-0.9.0.apk
adb shell cmd package set-home-activity rocks.stump.roost/.MainActivity
Requires Android 8.0+ (minSdk 26). Or build from source (JDK 17 + Android SDK 34): ./gradlew assembleDebug.