Programming language: used kotlin cause it's a huge plus and app is small and simple. But I personally prefer java cause I believe you can't write very bad code in java and it's more reliable standard.
Architecture: MVVM cause it's official google's way to build clean architecture in android.
DI: Was selected dagger2. Do not trust kodein too much and had not enough time to get into it
Didn't use fragmentless design. Never tried it before. I think it will have too much time to get into it and probably need to learn some framework. But hope will try it sometimes. I heard it's nice thing
Persistence: was selected Room. Never used it before but decided to try this official google thing. I liked it. Very awesome and simple!
Consuming Twitter's API: used twitter android kit. It's a well documented and tested lib. Unfortunately it use's retrofit without rx but the rest is ok.
Did't had enough time for unit testing especially spec. Wrote test for tweet timeline because it's probably most important part of app. Also test for dao class