What REVA does not do.
REVA is an inspector, like DevTools with a stopwatch. It tells you how a page moves and how it is designed so you can learn from it, then make your own work. Here is what it will not do, and what it cannot see.
It never copies a site.
- It does not download, mirror or clone a site.
- It never puts a site's images, fonts, text, CSS or JavaScript into your project. A font is named as a fact, "font: X"; fonts and assets belong to their owners and are licensed separately.
- For a WebGL page, the motion card shows the shader source on your machine so you can read how it works, as DevTools would. It never goes into the code REVA writes.
- It does not crawl. It reads one page at a time, started by you.
It asks first, and stops at walls.
- Before a live page opens, REVA reads its robots.txt, and again for every redirect and every page the site sends the browser to. It stops when robots.txt says no.
- It never gets past logins, paywalls, CAPTCHAs, bot checks or region walls. It stops with a clear message.
- On a cookie banner it recognises, it clicks reject, never accept. Popups the page opens are not loaded.
--ignore-robotsis only for sites you own or may test, and it covers the site you typed, nothing else.
Learn, don't copy.
Take the timing, the curves and the physics; design your own content and shapes. Durations, easing curves, spring constants and spacing scales are what REVA gives you. Credit what inspired you.
Only analyse pages you are allowed to see, and check the site's terms; REVA cannot read them for you. You are responsible for how you use what it gives you.
Code REVA writes for GSAP, Motion or Lenis needs that library, under its own licence. REVA bundles none of them.
What it cannot read.
- One page per look. Transitions between pages and the structure of a whole site are not measured.
- Four actions: load, scroll, hover and click, with one click before them. Typing, dragging, flinging and flows of more than one click are not measured.
- Inside canvas, video and Lottie REVA sees the element move or change, not the frames inside it. For WebGL it reads the shaders, the uniforms the page sets over time and the camera, but not draw calls, textures, post-processing passes, workers or WebGPU.
- Text: only a number at the start of an element's text is read, as a counter. Words that change are not motion.
- One run. Motion that depends on random numbers or the time of day is reported as it played that time. Run the look twice if you suspect it.
- Scroll values depend on page height. Content that loads late and grows the page can change them between runs.
- Fits are models. A fitted spring reproduces what was recorded within its stated error. It is not necessarily the code the site runs.
- Five minutes per look. A page that never finishes loading ends with an error instead of waiting.
For site owners.
REVA obeys the robots.txt group for User-agent: * and the group for its own name, and also respects the groups for ClaudeBot, anthropic-ai and Claude-User. Its requests carry the user agent REVA/0.1. To opt out of REVA only, add:
User-agent: REVA
Disallow: /REVA has no hosted service and sends nothing home. Everything it records stays on the machine of the person who ran it.