Mike Apurin

@auramagi
178 Followers
266 Following
87 Posts
I make iOS apps.
Located in Kyoto, Japan.
Building @everyword
Blueskyhttps://bsky.app/profile/auramagi.bsky.social
GitHubhttps://github.com/auramagi
Blog (rarely active)https://apurin.me

New Blog Post: Let's Write a Train Tracking Algorithm

https://twocentstudios.com/2025/09/22/lets-write-a-train-tracking-algorithm/

A deconstructed version of my presentation from #iosdc 2025 in English. I walk through the creation of the algorithm behind Eki Live, an #iOS app that automatically detects the railway and next station for a train you're riding and updates the Dynamic Island.

Let's Write a Train Tracking Algorithm

The views do seem to get an update, but it happens *before* the state is actually mutated, and they show the previous value.

This was wild to track down.
Some combination of UIViewControllerRepresentable, withTransaction, and if-available break SwiftUI Observation.

https://gist.github.com/auramagi/05c2f7db387513374d7bd91501b07edb

FB20312818

I don't imagine I’ll use the battery pack often, it's more of a travel thing.
(Not) Air
Ordered! Release date delivery.

We Need to Talk About Observation
https://jaredsinclair.com/2025/09/10/observation.html

There's more to observable objects than your UI code.

I've been stewing on this topic for a long time. Now that we're days from iOS 26 going live it's become a fresh topic with more to chew on.

Jared Sinclair | We Need to Talk About Observation

New in beta 6: bottom edge effect for custom views gets shifted down 64.8pt.
Updating a real production app to use the new scroll edge effects has been absolute hell so far, if you're wondering how my past month went.
In the Future All Food Will Be Cooked in a Microwave, and if You Can’t Deal With That Then You Need to Get Out of the Kitchen

Update 8/8/2025 – I wrote this the day before a certain post by a popular developer services company. I’ve seen some comments this is a rebuttal – it wasn’t meant to be! But…

Random Thoughts