Things Cloud, the synchronization backbone of the award-winning Things 3 task manager, has undergone a complete rewrite, now powered entirely by Apple’s Swift programming language. Cultured Code, the company behind Things, has transitioned its server-side infrastructure from legacy systems to a Swift-based architecture, delivering faster performance, reduced compute costs, and improved maintainability.
According to Cultured Code, the entire transformation was executed silently, without any service disruption. The new system has been in production for over a year, processing real-world data under the hood while the legacy Python 2 and Google App Engine-based stack continued to serve users. Once the new Swift-based infrastructure was validated in parallel, the switch was flipped seamlessly.
Why Swift Took Over the Cloud
Cultured Code initially faced mounting issues with its aging backend: slow response times, high memory usage, and fragile, untyped Python code. Even push notifications had to be managed by a separate C-based service to meet performance demands. These limitations, coupled with upcoming deprecations, prompted the team to consider a full rebuild.
Swift emerged as the ideal solution. Already used for the Things app across Apple platforms, Swift offered strong typing, modern language features, automatic memory management, and excellent performance. Despite limited server-side maturity at the time, Swift’s ecosystem, including SwiftNIO, Vapor, and community-backed efforts like the Swift Server Workgroup, provided the foundational tools needed.
Over three years, Cultured Code rewrote its entire cloud system in Swift. The new backend compiles into a single monolithic binary that runs multiple services via runtime parameters. The infrastructure is hosted on AWS and managed via Terraform, with deployments orchestrated through Kubernetes and Docker. Key services include MySQL (via MySQLKit), Redis (via RediStack), and Apple Push Notification service integration (via APNSwift).
Performance and Reliability
As reported by Swift.org, the new cloud system reduced compute costs by more than threefold and significantly shortened response times. A Kubernetes cluster of just four instances now handles traffic peaks of 500 requests per second with ease. The old C-based notification service has been replaced with Swift, streamlining both operations and the codebase.
For resilience, the team introduced daily chaos testing, randomly disrupting services to ensure robust system recovery. Metrics and logs are monitored using Amazon CloudWatch and Swift Prometheus, with alerts triggered through PagerDuty.
The multi-year overhaul signals Cultured Code’s long-term commitment to reliability and innovation. With Swift now running both client and server code, the Things ecosystem is more unified and future-proof than ever.