Week 52 | Federated Login and CI Debugging From Linux

Last Week Week 51 ended with two competing realities: iOS testing finally went live, but the very first step in the funnel (logging in) was brittle because email OTP deliverability is not something you can “design your way out of” with better copy. I also had too much iOS release work that required sitting down at a Mac and clicking through App Store Connect. This week was about reducing those two sources of friction: automate iOS distribution so I can ship without ceremony, and give testers a login path that doesn’t depend on a brand new sending domain being trusted by Gmail....

December 27, 2025 · 5 min · 970 words · Bill

Week 51 | iOS Alpha Approved, OTP Reality Check

Last Week Last week was about getting iOS out of the “it builds on my machine” phase. I moved the CI/CD pipeline off expensive hosted macOS runners, set up a self-hosted runner that can reliably archive the Compose Multiplatform iOS app, and worked through App Store Connect’s metadata and policy checklist so TestFlight wouldn’t be blocked on paperwork. The big open question was whether Apple would force Sign in with Apple even for an early testing build....

December 20, 2025 · 7 min · 1361 words · Bill

Week 50 | Self-Hosted Runners vs. TestFlight Red Tape

Last Week Week 49 ended with two unfinished promises. I picked Codex as the long-term Kotlin Multiplatform copilot and got the first iOS archive to upload through GitHub Actions, but that victory came with a warning label: hosted macOS runners eat ten times as many minutes, and I only had 2,000 free credits to burn. I also committed to finishing the App Store Connect onboarding so TestFlight could mirror the Android alpha track....

December 13, 2025 · 7 min · 1369 words · Bill

Week 49 | Codex Wins, TestFlight Comes Alive

Last Week Week 48 was the long-postponed reset after a month of travel. I dusted off the Kotlin Multiplatform repo, replayed the Android alpha build, and made a very public promise: stop treating the weekly vlog as postcards and start shipping again. That entry ended with two concrete goals for this week. First, I needed to pick a long-term coding copilot so I could lean on the same assistant every day instead of juggling trials....

December 6, 2025 · 10 min · 2046 words · Bill

Week 48 | Android Alpha Live, iOS On Deck

Last Week Week 47 was recorded at the gate, squeezed in between boarding calls on the final leg of the trip home. I didn’t open the Shokken repo, didn’t touch the feature list, and didn’t change a single line of code. Instead, I used that short update as a promise: once I was back at a real desk, I would stop issuing travel postcards and start delivering actual progress again....

November 29, 2025 · 9 min · 1844 words · Bill

Week 47 | Wheels Up Toward Home

Travel Day Check-In I am squeezing in this entry between boarding calls. The camera only captured a few sentences because there is still nothing meaningful to report on Shokken itself—I’m wrapping up the last leg of travel and staying disciplined about keeping the weekly commitment alive even when the laptop stays zipped. Last week you heard about the international leg; this time I am pointing back toward the States....

November 22, 2025 · 1 min · 173 words · Bill

Week 46 | Overseas Standby

Dispatch from Another Country “Week number? I don’t know.” That line opens the video and sums up the whole situation. I have not looked at the Shokken app in quite a while because travel has me bouncing into yet another noisy but fun country. The laptop is staying zipped, so nothing changed this week beyond keeping the weekly promise to say hello. Thanksgiving Target In the clip I reiterate the travel plan: I will not touch the app for another two weeks....

November 15, 2025 · 1 min · 125 words · Bill

Week 45 | Sauna Mode

Last Week Week 44 was sent from a rainy West Lake balcony where I promised to keep publishing even if the laptop stayed zipped up. I kept the Shokken alpha exactly where it was, let the CI pipeline recycle screenshots on its own, and mostly used my phone to confirm that tester messages were getting answered within a day. That check-in was really a travel postcard that said, “all systems nominal, founder temporarily offline....

November 8, 2025 · 5 min · 902 words · Bill

Week 44 | Hangzhou Hold Pattern

A Quick Postcard From Hangzhou Week 44 is a short check-in from a borrowed desk overlooking West Lake. I kept the weekly promise, but the laptop stayed in the bag aside from making sure the Week 43 builds kept publishing and that tester feedback still lands in the inbox. The alpha release notes remain unchanged, shokken.rsvp keeps pointing people to the right install links, and the Play Console graphs look exactly like they did before I boarded the plane....

November 1, 2025 · 2 min · 342 words · Bill

Week 43 | Jetlagged But Shipping

On The Road Week 43 found me bouncing between old haunts with my travel kit and a laptop that rarely left the bag. The wind hammered the camera, I forgot the microphone at home, and shipping time narrowed to minutes between family visits. Instead of forcing half-finished code, I treated the week as a checkpoint: the product is stable enough to hand to new people, the pipeline keeps publishing builds, and I get to absorb how the app feels after stepping away for a few days....

October 25, 2025 · 2 min · 266 words · Bill