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.
reva look <url> --do scrollA 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.
reva look, reva design, reva cardreva mcp, for Claude Code or any agent that speaks MCPreva doctor --install, checked by its hash, started with a fresh profile for every look.~/.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.