Hi, I'm Chris Trott. I'm an Apple platforms developer. Learn more about me, check out my apps and projects, or read my technical writing.| twocentstudios.com
It’s been about 6 weeks since the last train tracker devlog.| twocentstudios.com
I delivered a 20-minute presentation on September 20th at iOSDC Japan 2025. If you prefer video: Japanese (conference): available 2025/10/22 English (post-conference recording): YouTube Other materials: GitHub: train-tracker-talk - Open source code and presentation materials Blog: I Presented At iOSDC 2025 - More about the conference and presentation context App Store: Eki Live - The app discussed in the presenation This post is a deconstructed version of the talk with the slide images above ...| twocentstudios
I gave a 20-minute presentation at iOSDC 2025 called “Let’s Write a Train Tracking Algorithm”. I’m still gathering up all the presentation materials, but so far:| twocentstudios.com
My latest app is called Eki Bright or 駅ブライト in Japanese.| twocentstudios.com
I’ve been apartment hunting here in the Tokyo-area with my girlfriend. We’ve been sending links to various rental property listings back and forth in LINE (messaging app) and emailing with brokers. In a chat interface, it was hard keeping up with the status of each of the properties we’d seen, we wanted to see, we’d inquired about, etc. Classic project management problem.| twocentstudios.com
I started my Apple platforms development journey a year before Grand Central Dispatch was released with iOS 4. I’ve lived through codebase migrations to NSOperation. Then through the slew of FRP frameworks (of which I consider a concurrency solution): ReactiveCocoa, ReactiveSwift, RxSwift, and finally Combine. My strategy for learning all these paradigms was best described as osmosis while encountering and solving real problems in codebases. Of course, you have to spend time setting breakpo...| twocentstudios
In my previous post about Technicolor I gave an overview of my hybrid chat app & social network for watching TV shows with friends asynchronously.| twocentstudios.com
Although it’s still in beta, I think it’s a good time to reintroduce my web app side project called Technicolor. Technicolor beta app icon Technicolor is a chat app tailored for watching TV shows with friends asynchronously. I’ve found it to be a great way to stay in touch with friends in other cities/states/countries. The current version of Technicolor is a native SwiftUI app available on iOS 17.4+ devices and macOS. Technicolor app overview showing dashboard, room interface (redacted)...| twocentstudios
Claude Code works best as a multi-shot agent, iterating on a task by making changes and checking whether its attempts match the target.| twocentstudios.com
This post is a guide for getting a Swift Vapor server-side app up and running on Fly.io with SQLite as the database provider. The target audience is Swift developers who are inexperienced with servers and deployment. I’m assuming you’ve already chosen Vapor, SQL, and Fly.io as your tools of choice and therefore will not discuss any of their tradeoffs. The below setup using SQLite avoids the operational complexity of maintaining a full Postgres server. Especially as a beginner that does no...| twocentstudios
I migrated my Swift Vapor app from Fly.io’s regular Postgres to their new Managed Postgres service. As could be expected, this did not go smoothly, so below is a quick guide and the associated debugging story.| twocentstudios.com
Last week, I rewrote my iOS app Vinylogue to Swift and SwiftUI with the help of Claude Code. I originally created Vinylogue back in 2013 targeting iOS 6. Recently, I’ve been wanting to try out Claude Code, and I decided updating Vinylogue would be a good test project for it.| twocentstudios.com
Last month, I took a step back from development of my train timetables iOS app Eki Bright to think about the app in a broader context. I’ve iterated on Version 1 on and off for nearly a year, with use cases emerging out of a basic feature set and evolving with my own daily usage of the app.| twocentstudios.com
When I set out making the first prototypes of Eki Bright, my train timetables iOS app for the Tokyo metropolitan area, I had no intentions of tackling routing. In fact, that was one of the selling points; the lack of routing, like lack of maps, made it visually and conceptually simpler for solving the problem of getting the next train departure time at any particular station.| twocentstudios.com