I chose Kotlin as the programming language for the app, because of its modern and concise features that make Android development easier and more enjoyable. I also followed the MVVM (Model-View-ViewModel) architectural pattern, which separates the user interface logic from the business logic and the data layer, and creates modular, testable, and maintainable code. I used the ViaCEP API, a free and open source web service, to fetch the address data from the internet, and SQL, a standard language for managing relational databases, to store and retrieve the data locally. I learned a lot from the project and received positive feedback from the users.