A tool for sorting items by subjective criteria
I have a lot of ideas for future projects, but I also have trouble deciding
which one to work on next. I created humansort
to help me find out which of my
ideas actually hold my interest. But humansort
isn't just for lists of ideas โ
you could use it for anything with a subjective comparator function, like baby
names or books.
humansort
uses the Elo rating system, which Arpad Elo invented for
chess, but which turns out to have lots of applications in competitive games. In
a sense, humansort
may be viewed as a "competition" among little bits of text.
The winners float to the top.
- Install Rust
- For the web interface only:
rustup target add wasm32-unknown-unknown
cargo install --locked trunk
- See more detailed docs here
- Create a file with items to sort, one on each line.
- Convert it to a humansort file with
cargo run -p humansort-cli -- new <name of file>
. - Sort interactively with
cargo run -p humansort-cli -- sort <name of file>.humansort
. During each iteration, press the number key associated with the item you rank highest by your subjective criteria (e.g., highest preference). - After many iterations, exit with Ctrl + C.
- Print the sorted list in descending order with
cargo run -p humansort-cli -- output <name of file>.humansort
. - If you add items to the original list later and want to sort them, add them
to
humansort
withcargo run -p humansort-cli -- merge <name of file> <name of file>.humansort
.
cd humansort/humansort-web/
trunk build --release
- Serve the contents of
humansort/humansort-web/dist/
from a Web server.