It uses an algorithm to determine score for sorting. What is your definition of algorithm then?
As for cross platform, there are Element and FluffyChat. There is also nheko I can recommend for desktop and cinny on web. Here is a comparison between different clients fyi.
If you don’t insist on matrix, Snikket might be a good option too.
I saw a comparision with cell cycle yesterday and I think it’s more apt