Devlog

Voted off the page: readers now replace portraits that look off

When a majority of readers say a portrait looks off, the site renders replacements, promotes one and says why on the page. Twenty faces changed in a day.

  • AI
  • Community
  • Data

The verdict loop is closed. When a majority of readers say a people's portrait looks off, the site renders candidate replacements, scores them against the people's real-photo baseline where one exists, and makes the chosen render the group's portrait.

The page says so in one line: this portrait replaced one that readers said looked off, with their count. Twenty faces changed on September 25, the first day the loop ran.

Readers stay the judge. The other candidates remain in the gallery for votes, the new portrait faces the same one-tap verdict, and the open dataset, which passed 1,400 reader verdicts by September 21, keeps every verdict cast on the retired portrait.

Under the hood

  • The queue holds current lead portraits whose reader tally shows a majority 'looks off'. A portrait readers have already voted out of first place is skipped, because nothing is left to replace.
  • Candidates render through the catalog's own portrait pipeline and are scored by the same vision analysis the generator comparison uses, against the people's real-photo baseline where one exists. The score is a pre-filter; reader votes decide.
  • The chosen candidate is written last, so the gallery's existing cover rule makes it the lead portrait with no pinning and no new state. A later reader vote can still change it.
  • The flagged portrait is retired, not erased: it leaves the page, and its verdicts stay in the published dataset marked as belonging to a deleted image.
  • The notice is computed from the retired portrait's own tally, "This portrait replaced one that N of M readers said looked off", and appears when the current portrait came from this loop, not from any other path.
portraits replaced in one day
20
reader verdicts by September 21
1,421

See it on the site

Sources and open data

Read the full log