Shared links would show when the work happens: a 30-day calendar, the 30-day total and a big 24 h wheel. In a 400 px feed thumbnail it reads as a block of days, one number and a lopsided clock.
One of six alternative cards, each in its own PR. The first commit is identical in all six (the TALLY_OG_LAYOUT switch, the shared calendar helper and per-layout alt text), so whichever merges second only rebases its layout commit. Merging this makes wheel the default card; TALLY_OG_LAYOUT=year brings back the current one. The headline number and og:description now count the owner and their agents together (1,315 over 30 days here, where the current card shows 1,078 for the owner alone). The wheel reads hours in TALLY_TIMEZONE, using a new chrono-tz dependency so a named zone like America/New_York and daylight saving work. When the variable is unset (as on the live site today) it uses UTC, because a picture can't use each viewer's own zone; the card prints the zone's abbreviation.
Verified with cargo fmt --check, cargo test, clippy (--features aws -D warnings), node --check and py_compile; images rendered from a copy of the live index.
After, 1200×630:
After, 400 px wide:
After, in a Bluesky post:
Before, the year card (still TALLY_OG_LAYOUT=year):
🤖 Generated with Claude Code