This document discusses an Android clean architecture approach using reactive programming with Kotlin. It proposes architectural layers including clients, repositories, models, services, use cases, presenters, and views. Clients manage low-level data and support RxJava. Repositories wrap client data into transaction objects. Models combine repositories to maintain updated entities. Services manage business logic by combining models. Use cases represent concrete business logic by combining services. Presenters manage views and delegate to them. The architecture is platform independent, handles errors through transaction objects, and is easy to scale, maintain, test and keeps everything fully reactive from presenters to clients.