The signature idea needs rules, or it is just random.
The rules as settled
- A reload rolls. Arriving at the site, or reloading, picks a new theme at random from the set. Following links within the site keeps the theme.
- Thirty minutes idle. The theme cookie expires after 30 minutes without activity. Come back after lunch and the site has changed; click around for an hour and it holds.
- Lock it. A visitor who likes the current look can lock it. A lock is a longer-lived cookie, kept alive by a heartbeat ping while the page is open, so it survives the idle expiry.
- No reload to lock. The first version reloaded the page when locking or unlocking. That was replaced with an in-page toggle that updates the cookie and the lock indicator without a round trip.
The query string
For sharing a specific look, ?theme=name forces a theme. An early version rendered the page directly under that query, which meant the URL in the address bar kept the parameter and every later link carried it along. It now sets the cookie and redirects with a 303 to the clean URL.
Why these numbers
Thirty minutes is long enough that nobody loses their place mid-visit and short enough that returning visitors see the rotation working. The lock exists because a later owner note said the rotation confused some visitors; see the “Keep this look” entry.