Signal actively discourages third-party clients and doesn't accept community contributions in most cases(not that you'd actually want to, because their codebases are trash.) We can do better.
Matrix with bridges and your own server is quite a nice experience. Have a look at beeper: https://www.beeper.com/