I wrote a technical deep dive about how we migrated one of Denmark's most used Android apps with one million lines of code powered by Java threads, into Kotlin coroutines just by rewriting three files in our internal threading library
Check it out if you are interested in how coroutines use threads, and interop between them :)
Trust me I've tried them all, and I still felt that I needed to develop my own out of necessity. I'm studying interaction design, so something which is usable is really important to me.
I would argue that every app I used had minor issues which evolved into major issues over time. Poor visual design, visibility and readabilty, too cluttered or unintuitive, etc. I set out for the app to do one thing, and excel at it without issues.
Speaking of Android, after looking through the available apps I decided to release my own as open source. It's lightweight and has a focus on usability, check it out :)
Check it out if you are interested in how coroutines use threads, and interop between them :)