Auto-stop: a metronome that counts you in, then bows out

SessionClick’s second backlog feature: a per-song beat limit that turns the click into an intro count-in — 32 beats, then silence, and the band plays on. Why the countdown lives in the UI instead of the audio engine, how the last beat still rings out cleanly, and two touches that came straight from playing with it on a real phone.

July 7, 2026 · 5 min · Karl-Ernst Kiel

Double-time, triple-time: the first feature through the new safety net

SessionClick’s first post-infrastructure feature: per-song ×2/×3 subdivisions for slow ballads and 6/8 grooves — click and flash at double or triple the beat without faking the tempo. The safety net earned its keep, the schema survived its first change, and a real-device test rewrote the BPM limits in ways no emulator could have.

July 7, 2026 · 6 min · Karl-Ernst Kiel

One-command releases, real numbers, and a finished safety net

The infrastructure phase is done. Two days took SessionClick from ‘releasing is a click-odyssey through two consoles’ to one-command releases on both stores, a monthly report with real download numbers, and UI smoke tests on Android and iOS — with an AI agent doing the work and me holding the credentials. Every failure along the way became documentation.

July 5, 2026 · 7 min · Karl-Ernst Kiel

Shipping was the easy part — making SessionClick robust for the long haul

SessionClick is live on both stores, and I have a feature list itching to be built. Before touching it, I’m spending a few sessions on something less glamorous: documentation that survives months-long pauses, tests that pin the invariants, CI, a lint gate — an agentic development loop that lets me (and my AI tools) pick the project up cold.

July 4, 2026 · 9 min · Karl-Ernst Kiel

On the App Store — and a landing page that finally looks the part

Yesterday’s resubmission got approved — SessionClick is live on the App Store, so it’s now a real dual-platform app. That triggered an overdue pass on sessionclick.com: an App Store badge, a privacy policy that admits iOS exists, and a redesign from dim-and-dated to bright-and-modern.

June 13, 2026 · 5 min · Karl-Ernst Kiel

A false rejection and an edit-mode bug hiding in the background

Apple rejected the app under 2.5.4 — ‘unable to play audio in the background’ — but the code was right all along; the reviewer just never pressed Play. Plus a sneaky sequel to yesterday’s edit-mode fix: the invariant broke the moment you backgrounded the app.

June 12, 2026 · 4 min · Karl-Ernst Kiel

App Store rejection, IAP debugging, and a pile of small iOS fixes

The app came back rejected for an unresponsive IAP button. Tracking it down led through four separate bugs in the purchase flow, plus a handful of smaller fixes: edit mode not exiting on play, background audio sync, and a haptics regression on iPhone 15 Pro.

June 11, 2026 · 4 min · Karl-Ernst Kiel

iOS: feature complete and on TestFlight

A full day of iOS feature work — tap tempo, playlist management, export/import, library editing, StoreKit IAP — ending with a successful TestFlight submission and a real test purchase.

June 5, 2026 · 4 min · Karl-Ernst Kiel

iOS layout overhaul: portrait/landscape, controls, playlist

A full rework of the iOS main screen: a proper two-panel layout that adapts to portrait and landscape, a redesigned controls section, and a more stage-friendly playlist.

June 4, 2026 · 3 min · Karl-Ernst Kiel

Raising the free tier, fixing a BPM glitch, and setting up a new machine

A small but meaningful update: the free tier now allows 50 songs and 5 playlists. Plus a Compose LaunchedEffect fix for a BPM sync issue when adding the first song to a new playlist. And some notes on getting back up to speed on a new Mac.

June 4, 2026 · 4 min · Karl-Ernst Kiel