This document discusses Clean Architecture, an architectural pattern for Android applications. It is designed to be independent of frameworks and UI layers. Clean Architecture aims to follow SOLID principles and the dependency rule, where source code dependencies should only point inward from outer to inner layers. The layers include entities, use cases, interface adapters, and frameworks/drivers. Fernando Cejas' approach to Clean Architecture is also discussed, which uses domain-data-presentation modules with Reactive Programming using RxJava. While this approach has advantages like reusability, it may violate some Clean Architecture principles and has drawbacks like a steep learning curve. Putting the learnings into practice requires addressing issues like dependency on RxJava and over-engineering. More exploration