This year I’ve set myself the goal of releasing an app that uses SwiftUI, scales across all Apple platforms, and uses Swift on the Server (Vapor). I am aware that if SwiftUI v1 is anything like Swift v1, I will need to rewrite large portions of the app after WWDC 2020 through to the release of iOS 14.

The new app will focus on haze conditions in Singapore and will use data from Like my other Singapore focused app — Singapore Transit — it will also feature Siri Shortcuts and rich push notifications1.

Luckily, the API doesn’t require a key or any other form of authentication, so I’ve started out by writing a Swift package that contains the structs and Publishers that are needed to interact with the API. That package is available on GitHub and supports all National Environment Agency API endpoints.

This week, I am going to start work on the iOS app.

  1. Used in situations when PSI is not in the good range