How REVA works.

You give REVA a web page and an action: load, scroll, hover or click. It opens the page in its own browser, watches it frame by frame, and tells you what moved and how, with every number marked by how it was found. Four drawings explain the rest.

One look, from start to end.

A look is one page and one action. Before the page opens, REVA checks that it may read it. After, nothing leaves your machine.

You askreva look <url> --do scroll
Allowed?It reads robots.txt and stops at logins, paywalls and bot checks.
Its own browserA headless browser with a throwaway profile. Never yours.
RecordedThe action plays on a virtual clock at 120 frames a second.
Read what is writtenMotion the page declares in CSS or a known library is read as written.
Measure the restMotion its own script drives is measured frame by frame and fitted.
LabelledEvery number says exact, fitted with its error, or unknown with why.
You getPlain words in the terminal, a motion card, and code for CSS, GSAP, Motion or Lenis.

A clock that never hurries.

A busy machine drops frames and draws others late, so timing measured in real time comes out wrong. REVA runs the page on its own clock instead: every frame lands exactly 8.3 ms after the last (16.7 ms when one canvas covers much of the screen), and the page waits while a script or font is still loading. The same page gives the same numbers on any machine.

Read when written, fitted when not.

REVA reads CSS, Web Animations, GSAP, Lenis, Swiper, Lottie, Locomotive and anime.js values exactly when the page declares them. Anything else is measured and fitted, and says so.

Exact

The page wrote 1000ms cubic-bezier(0.25, 1, 0.5, 1), so that is what REVA gives you: the duration, delay, curve and repeat, as declared.

Fitted

A script moved this dot, so there was nothing to read. REVA measured every frame and fitted a spring through them: 13.24 rad/s, damping 0.54, with the error beside it.

Inside REVA.

The command line and the MCP server are two doors to the same tools. Underneath, one engine records, reads and fits, and everything it makes stays in a folder on your machine.

You, in a terminalreva look, reva design, reva card
Your coding agentreva mcp, for Claude Code or any agent that speaks MCP
The same toolslook, motions, design, code, curve, card, unknowns, compare, doctor
The engineA recorder on the virtual clock, readers for CSS, Web Animations and six motion libraries, a fitter for curves, springs, scroll links and staggers, and a design pass for type, colour, spacing and layout.
A pinned headless browserDownloaded once by reva doctor --install, checked by its hash, started with a fresh profile for every look.
Your data folder~/.reva keeps recordings, readings and cards. No upload, no account, no telemetry. Delete it to remove everything.

REVA never takes a site's images, fonts, text or code. It gives you timing, curves, physics and spacing, so you can make your own work with them.