For the result of response we are directly using
Kotlin Result class. From what I see EitherNet has some more features then Result class, but you could also build those with Result if there is a need for it. And other stack in our project is as you wrote, ktor + kotlinx serialization. We are also coming from Android world and we do miss simplicity of Retrofit, but in the end we decided to just use Ktor to have as less dependencies as possible for such core functionalities.