Blog

RSS

Insights on Jetpack Compose hot reload, Android, Compose UI development, and Compose HotSwan engineering.

Compose Preview Screenshots in CI: A Real Device Catalog on Every Commit

Compose Preview Screenshots in CI: A Real Device Catalog on Every Commit

Your @Preview functions live in one editor, behind a recompile, on a renderer that does not match a phone. This walks through rendering a preview on a real device, capturing every preview into a browsable HTML catalog with captureAllPreviews, tuning the per preview render delay so slow screens still come out clean, running it all in GitHub Actions on a managed Android device, and publishing the catalog to GitHub Pages on every commit. With a working Pokedex Compose example, plus where Paparazzi and Roborazzi fit alongside it.

Jaewoong Eum (skydoves)
Jaewoong Eum (skydoves)·May 13, 2026·11 min read
From ViewModel to Pixels: Hot Reloading Compose Side Effects in One Loop

From ViewModel to Pixels: Hot Reloading Compose Side Effects in One Loop

Side effects in Jetpack Compose are where the build-restart-navigate loop hurts most. A LaunchedEffect only fires when its key changes, so testing one means rebuilding, relaunching, and recreating the exact state that triggers it. With hot reload, you change the key or the body, save, and the effect re-runs immediately on the same screen. Walked through with two examples from Pokedex Compose.

Jaewoong Eum (skydoves)
Jaewoong Eum (skydoves)·May 10, 2026·8 min read
Tuning Compose Themes Live: A Visual Feedback Loop for UI Design

Tuning Compose Themes Live: A Visual Feedback Loop for UI Design

Choosing a Compose UI theme usually means editing colors in source, rebuilding for thirty seconds, judging by gut, and repeating. With HotSwan Palette, an AI agent fans out several theme variants live on your running app, captures a screenshot of each, and serves a side by side grid you pick from in the browser. See every option before you commit, no rebuilds. Walked through with Now in Android.

Jaewoong Eum (skydoves)
Jaewoong Eum (skydoves)·May 7, 2026·10 min read