add: pairwise elo voting workflow

This commit is contained in:
2026-03-22 20:25:41 -07:00
parent 26adbe617f
commit b3a8368bab
6 changed files with 1212 additions and 6 deletions

View File

@@ -61,6 +61,10 @@ npm run build:thumbs:force
`data/elo.json` stores the seed rating, Elo `kFactor`, and a win-loss record for each meal.
The page build keeps this file aligned with `data/meals.json`, so new meals automatically appear in `rankings.html` with the default seed rating.
The interactive voting flow on `rankings.html` uses browser `localStorage` for persistence.
That means Elo votes persist across reloads on the same browser and device, but they do not sync automatically across devices.
Use the reset button on the rankings page if you want to clear the local vote history and go back to the seeded board.
## Image Conventions
- Full-size images and thumbnails share the same numeric ID
@@ -94,5 +98,5 @@ The `x` and `y` values are normalized from `0` to `1`, where `0.5, 0.5` is the c
## Planned Features
1. A pairwise voting page that shows two food images at a time and updates Elo rankings based on the selected winner.
1. Optional shared sync or export/import for rankings if browser-local persistence becomes too limiting.
2. General cleanup and history cleanup once the bigger structural changes are in place.