When designing an app feature that uses data from an API, it's common to have a debate about storing that retrieved data locally on the device. This can be for performance reasons, or to provide an offline-first experience for the user. But, before starting to debate the pros and cons of introducing a database layer (or worse, considering storing entire JSON payloads to the device filesystem!), consider this: you might get the on-device storage behavior you want, for free , with no code . Before we go into full infomercial mode here, let me explain. Whether you realize it or not, when you make an HTTP(S) request in your native Swift or Kotlin code, the server can hint to how the client should handle storing the response, and the underlying network SDK acts on these hints (usually with no indication as to what it's doing!). In my experience on projects, we don't spend enough time in API design talking about this, and even less time on the frontend team...
Mobile App Development Lessons Learned