Devlog

Every group gets a gallery, and the community picks the cover

Portraits became galleries. Members vote on every image and flag the ones that miss, and the top-rated portrait becomes each group's cover.

  • Community
  • AI

On May 11 members could rate every group portrait and flag it for redesign, and every group in the catalog had a portrait. On May 14 each group moved from a single portrait to a gallery, and members' votes choose which image leads.

Flags close the loop. The most-flagged groups rise to the top of a redesign queue, a fresh portrait is rendered, and it joins the gallery to be judged instead of replacing what was there.

Cards on region pages and the homepage flip between a group's portraits on hover, with voting right on the card. A member can judge a face without leaving the page.

Under the hood

  • The data model moved from one image per group to many: each render is stored as its own gallery record with the prompt it came from, and nothing is overwritten.
  • Votes are recorded per member per image, so every portrait in a gallery is judged on its own, and tapping a vote again clears it.
  • The cover is recomputed on every vote and every new render. Ties go to the newer image, so a fresh portrait gets its turn at the front until the votes decide.
  • The winning portrait also becomes the group's share image, so link previews follow the community's choice.
  • List pages fetch every gallery on the page in one query, and in-card votes apply optimistically and roll back if they are not accepted.
groups with a portrait
100%
portraits in the first galleries
1,550

See it on the site

Read the full log