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...
I have at times also wished I had this for just about any sort of data tagging. Give it an array of json objects, it displays the data and then lets you swipe super quickly through all the objects in the array, semi-randomly choosing which objects to compare. Would need to write the data out as well - that's the product.
This is probably worth a couple hundred bucks to me if anyone wants to build it and open source under a commercial-reuse allowed license. Every year I spend dozens of hours doing this and don't feel like I have done a great job of making the correct comparisons.