So I have been exploring modularization for the past three months, and I know most of you would ask me why I have modularized a small app?. There are hundreds of articles on the internet by fellow developers about the need and benefits of modularization, so I would prefer not to write much about it here. 

The first answer to it is to gain experience. Other advantages, such as build speed, code reusability, separation of features, Kotlin multi-platform ability, Think of a real-life situation where 10 developers are working on the same project. It would be so much easier if we delegated these developers to work on only a specific module/feature and advised them not to touch any other modules. This has its advantages, such as the decreased possibility of breaking other features while working on any one of them. There would be less merge conflict, etc.