Conversation
HumanJS is a library about motion and the README showed none of it, so the product could not demonstrate itself to anyone landing on the repo. Written as a checked-in script rather than a hand-recorded one-off: the asset is pinned to a seed, writes straight to the path the README points at, and regenerates with a single command, so it can be refreshed when the brand or the API moves instead of rotting in place.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
A scripted edit re-serialised package.json with ensure_ascii, turning Munoz into a \\u00f1 escape. Valid JSON, but a pointless diff on a field nobody meant to touch.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
HumanJS is a library about motion, and the README showed none of it. The product demonstrates itself better than any paragraph can, so the first thing someone landing on the repo sees is now a real session — cursor curving to the passage on a reading scan, an email typed with uneven rhythm, then a click.
It is a recording, not a mockup
The GIF is produced by
@humanjs/recorderdriving@humanjs/playwright— the same path a user's own recording takes. That makes it self-proving: if the humanization ever regresses, the README asset regresses with it.Reproducible on purpose
examples/readme-demo.tsis checked in and wired topnpm demo:readme, matching the existingdemo:*scripts. It writes straight to.github/demo.gif, the path the README points at, so refreshing the asset is one command with nothing to copy by hand.The run is pinned to
seed: 'humanjs-readme-v1'. Without a seed every regeneration would produce a different trajectory, and a hero image that reshuffles itself on every commit is noise in every diff.Brand tokens (
--color-ink,--color-accent, …) are mirrored fromapps/web/app/globals.cssso the asset and the landing page do not drift apart.Sizing
1000×540, 261 KB, ~10 seconds. The first framing tried 1200×630 with a 460px card, which left the content too small to read once GitHub scales the image down to the content column — the card was widened and the canvas tightened until the type held up at render width. Ten seconds is deliberate: a loop that short gets watched to the end.
Per
CLAUDE.md, the embedded HTML contains no backticks — a stray one closes the template literal andesbuildfails at runtime, whichbiomedoes not catch.Verification
lint,typecheck,test,buildall pass.recordings/is already gitignored, so the intermediate captures are not tracked — only the script and the final asset.