site-motion

Scenes / metrics / grain-tally

Canvas 2D · metrics · scale · many to one

The number, made of the work

Grains of real events pour into the digits of the total, then sort themselves into one bar per source.

Drawn in Field · follows any look See the matched set →

Thousands of grains, each one a batch of four events, breathe as a dust ring, pour into the digits of the week's total, then melt into one bar per source with its exact count, and drift back into the ring. 00:00
00:00 / 00:00
Make your own look →

With Claude Code

With the skill installed, paste this in your project.

Use the site-motion skill to make the "grain-tally" scene for our site, in our brand.
Read our design tokens from this project (or run `site-motion theme <our url>`), write the content JSON with our real product nouns and numbers, then render mp4, webm and a poster. Check the loop seam before you finish.

From the command line

Draft your tokens, then copy the scene into your project. The first scene you add sets your site's look; every scene after it follows.

node bin/site-motion.mjs theme https://yoursite.com --out brand.json
node bin/site-motion.mjs add grain-tally --tokens brand.json

Your brand, as tokens

The theme playing above, as a token file the CLI and the skill accept.

content.json, the words in this scene
{
  "title": "The number, made of the work",
  "label": "Thousands of grains, each one a batch of four events, breathe as a dust ring, pour into the digits of the week's total, then melt into one bar per source with its exact count, and drift back into the ring.",
  "eyebrow": "This week",
  "heading": "The number,\nmade of the work.",
  "sub": "Every grain is four real events. Watch them add up, then sort by where they came from.",
  "perGrain": 4,
  "legend": "1 grain = {per} events",
  "unit": "events this week",
  "sources": [
    {
      "name": "API",
      "count": 4720
    },
    {
      "name": "Webhooks",
      "count": 3160
    },
    {
      "name": "Cron",
      "count": 2080
    },
    {
      "name": "Email",
      "count": 1440
    },
    {
      "name": "Agents",
      "count": 1080
    }
  ]
}

Files

default theme

Rendered frame-exact. For your brand, run the command on the left.

embed snippet
<iframe src="/grain-tally.html" title="The number, made of the work" style="width:100%;aspect-ratio:16/9;border:0" loading="lazy"></iframe>