All Articles
Unifying Onboarding Across Six Wallpaper Apps: What One Month of First-Day Retention Showed Me
I folded the onboarding flows of six wallpaper apps scaffolded with Rork into a single config-driven component and watched first-day retention and push opt-in for a month. Here is an honest, operational note on what moved and what didn't.
Why Wallpapers Look Dull on Device: Notes on Display P3
The same wallpaper looked dull once it was set on the device. The culprit was a mix-up between wide-gamut Display P3 and sRGB. Here are the steps and the commands I used to sort out color across six wallpaper apps.
Fixing the 'Signed With the Wrong Key' Error When Uploading a Rork App to Google Play
Your Rork app builds fine but Google Play rejects the upload with 'signed with the wrong key'? Here's how to tell which signing key is involved and the exact steps to fix it for each build setup.
Retuning AdMob Mediation Priorities: Notes From Trying to Lift My eCPM
A running log of how I manually revisited the network priorities in my AdMob mediation setup to lift eCPM on an indie wallpaper app, what changed compared to leaving it on auto-optimization, and what I noticed along the way.
Getting Users All the Way to 'Set as Wallpaper' on iOS — Save-to-Photos Permissions and Shortcuts
iOS apps cannot set the wallpaper directly. Here is how I handle add-only photo permissions, Live Photo saving, guiding users to Settings, and Shortcuts automation, with real numbers from running six wallpaper apps.
Killing Thumbnail Scroll Jank in an iOS Wallpaper App — Notes on ImageIO Downsampling
Lay out a lot of thumbnails and scrolling stutters while memory balloons. The culprit was full-size image decoding on the main thread. Here is how ImageIO downsampling and prefetching cut measured memory dramatically.
Two Weeks of Maintenance After v2.1.0 — Running Crashlytics Triage Through Claude in Chrome
Notes from operating Beautiful 4K/HDR Wallpapers v2.1.0 and Ukiyo-e Wallpapers v1.8.0 through phased rollout. Defensive RecyclerView copies, Glide desugaring, drawable-nodpi placement, and what I now hand off to Claude in Chrome every morning.
Three Weeks of Syncing Release Notes Across Six Wallpaper Apps
Notes from three weeks of writing What's New entries for six wallpaper apps in the same week, with the same tone, using Rork as the source of truth.
Adding Slideshow and Page Jump to My Android Wallpaper Apps
Implementation notes from adding slideshow, a page-jump slider, and an ad-free option to the Android editions of Beautiful 4K/HDR Wallpapers and Ukiyo-e Wallpapers.
Supporting iPhone Air and 17 Pro Max New Resolutions Across Six Apps in Parallel
How I added iPhone Air (420×912), 17 Pro (402×874), and 17 Pro Max (440×956) support across six apps in parallel — 29 ternary branches, a 6-app diff script, and a phased rollout that landed at zero resolution-related crashes in 14 days.
Bolting WidgetKit onto a Rork iOS App: Implementation Notes from Rolling It Out to Six Wallpaper Apps Simultaneously
A hands-on note on adding a WidgetKit Extension to a Rork-generated iOS app, with operational lessons from rolling out widgets to six wallpaper apps at once — App Group plumbing, Timeline Provider choices, memory ceilings, and ASO side effects.
Adding AppLovin MAX to a Rork-Generated iOS Project — A Field Note on Init Order, ATT Consent, and eCPM A/B Testing
A field note from an indie developer on layering AppLovin MAX on top of a Rork-generated iOS app: SDK initialization order, ATT and MAX consent flag sync, and a minimal A/B setup to compare eCPM against AdMob-only.