The home page is a setup where you setup your dataframe. If you already have some csv or something, you can read that rather than getting user input.
The app will randomly select 2 rows of the dataframe and display them as side-by-side VS cards. You then pick the winner from the two. Then the app will repeat random selection/winner as many times as you want.
There's a results page that shows the ELO ranking of all the "players" as well as the history of all the "games" between the players.
I implemented not with a "swipe" interface but just with side-by-side cards and you click on one. It wasn't clear to me how swiping would work when you're choosing a winner between 2 objects rather than making a yes/no decision. If you have an idea for how swipe would be useful, I'm all ears.
Live App: https://compare-and-rank.pycob.app/
Source Code: https://github.com/pycob/sample-apps/blob/main/compare-and-r...