Create an offline-first client for the API in Dart. I will use this for Karriba - https://github.com/kwila-cloud/karriba/issues/103