---
description: >-
  A library to simplify async data loading and caching in Android, with a
  pluggable architecture to handle custom requirements.
---

# What is this ?

Most mobile apps usually consume data through a REST Api, during development we realised that we ended up doing the same things over and over again. The usual flow for most apps goes like this:

1. User makes an action and requests some data.
2. Check if we have data in cache, if data in cache is valid use it, otherwise hit the server.
3. Fetch data from remote data source.
4. Store data locally in a database, file, memory or other data store.
5. Convert received data to an internal representation that it's easier to handle and best serves business needs.
6. After all this is done, show it to the user.

Have to worry about all of the above every time a new feature is developed takes times and it's error prone, that's where **Livebox** can be useful.





