lens ruler
freeThe prompt is free with an account: sign up with Google or email, and your copy starts right after. The project and Figma file come with monthly or yearly.
A pagination control on a light grey page. All 24 pages sit on one strip with tick marks that slides under a fixed glossy black lens in the centre. The number under the lens is large and white; its neighbours shrink and fade towards the edges and the spacing swells around the lens like a fisheye, while the ticks rise in a wave. Drag the strip to change page, or throw it and let it coast and settle on a page: at speed the numbers blur and stretch, the lens widens and lags a little behind and hops softly on every page it passes. A white card above holds a mechanical counter in big light digits: the units drum rolls with the strip and the tens carry over from 9 to 0, with a thin progress bar under it. It plays an 8-second seamless demo with a drawn cursor (a slow drag, a flick, a click on a far number, a hard throw back), and the first press on the ruler hands it over to you: drag, throw, tap a number, or use the arrow keys, Page Up, Page Down, Home and End on the focusable slider. Plain HTML elements and one small canvas, written each frame from the page position and speed; change the page count, the lens optics and the feel in a few lines. Every demo frame is a pure function of time, with window.__render(t) and a ?rec mode for frame-exact video export; reduced motion shows one still. The fonts are local, so it runs offline.
what you get
- prompt
- Paste it into Claude, Codex, Kimi or Cursor to rebuild this template. Tested: we rebuild every template from its prompt before it goes live.
- project
- The Vite + React source code as a .zip, ready to run.
- figma file
- The editable design as a .fig file to import into Figma.
what's inside
- pagination
- page slider
- fisheye magnifier
- inertia scrolling
- fling and settle
- odometer counter
- progress bar
- autoplay loop
- frame-exact recorder
stack
- react
- vite
- typescript
- canvas
fonts
Geist, Geist Mono
Free fonts, linked in the prompt.
colors
- #F1F1F2
- #FBFBFC
- #111113
- #9B9BA3
- #0A0A0C
license
Free account: personal use only. Monthly or yearly adds commercial and client work. Don't resell or share the template, prompt or files.
read the license

