Loading…
Loading…
Creator · johannesasgeir
The reproduction prompt keeps the original and adds runtime, asset and acceptance requirements. These additions are not the author’s words.
I made this $10,000 website with one prompt over the weekend…
Just joking. I made another mock-up webpage for fun using one main prompt and a few smaller prompts to adjust it.
It mostly cost me some time and about 1% of my weekly Antigravity credits.
I got the idea for the salivating dog swirling up its food from an image I saw, and I decided to turn it into an animated web concept.
I am going to keep posting random ideas like this because I make something new almost every day.
As usual, I created it with Gemini, Google Flow, and Antigravity.
At the end, I asked Antigravity to write a reusable prompt for creating a smooth, mouse-scroll-animated website hero section like this again.
Here is the prompt it gave me ↓
---------------------------------------------------
I want to build a premium, scroll-driven frame animation (scrollytelling) hero section in vanilla HTML, CSS, and JavaScript.
The image frames are located in a folder named 'frames' and are numbered sequentially from 'frame_005.jpg' to 'frame_181.jpg' (replace with your specific file names and range).
Please implement this using the following high-performance frontend mechanics to ensure it is buttery-smooth, responsive, and has zero white flashes on loading/scrolling:
1. HTML5 Canvas Cover Sizing & DPI Scaling:
- Use an HTML5 `<canvas>` element pinned inside a sticky viewport container (`position: sticky; height: 100vh; top: 0;`).
- Dynamically scale the canvas width and height in JS using `window.devicePixelRatio` to keep drawings crisp on high-DPI (Retina) screens.
- Implement "cover" scaling coordinates inside the drawing loop so the frames fill the viewport and crop centered, behaving like CSS `object-fit: cover`.
2. Double-Queue Progressive Asset Preloader:
- Create a loading screen. To prevent the page from locking up on download, split frame loading into two queues:
a) Priority Queue: Preload only every 5th frame (e.g., index 5, 10, 15, ..., 181). Once this priority batch is loaded, hide the preloader screen and launch the page instantly.
b) Background Queue: After launching, load the remaining intermediate frames asynchronously in small batches (e.g., batches of 4 with a 50ms delay) to avoid choking the browser network.
3. Outward Neighbor Fallback Search:
- While scrolling, if the render loop requests a frame index that hasn't finished downloading yet, search the image cache array outward (check index-1, index+1, index-2, index+2, etc.) and draw the closest available loaded frame. This guarantees a fluid experience with zero visual flashing or black frames during initial scrolls.
4. Linear Interpolation (Scroll Lerping):
- Track `targetFrame` based on scroll progress, and use a separate float `currentFrame` that smoothly glides toward `targetFrame` in a `requestAnimationFrame` loop.
- Use linear interpolation (lerp): `currentFrame += (targetFrame - currentFrame) * 0.08` (tweak coefficient for slide speed).
- Only trigger canvas draws when the difference is greater than 0.001 to minimize CPU usage when the user stops scrolling.
5. Responsive Design & Glassmorphic Overlays:
- Overlay structured text narrative cards that fade in/out at specific scroll ranges.
- Build a vertical scroll progress timeline indicator dot grid on the right side that highlights the active section and scrolls to it smoothly on click.Models & stability
Recommended models
Independent retest evidence
Aug 9, 2026
Keep exploring
A webpage case created by @viktoroddy with AntiGravity · Gemini 3.1 Pro, including the public result, full prompt, and original source.
Prompt
Prompt: Build a hero section with the following exact specifications: Overall Layout: Full-width section with background: #000000 (pure black) Overflow hidden Background video playing behind all content (details below
A website case by @Oluwaphilemon1 made with Claude · Three.js · GSAP, including the public result, full prompt, and original source.
Prompt
How I built with Claude 👇 1. Prompt: "Build a storytelling website where each scroll section reveals a new chapter with fluid color transitions" 2. Use Three.js for the painted texture background that reacts to cursor
A web case by @viktoroddy created with Gemini 3.1, including the public result, full prompt, and original source.
Prompt
PROMPT: Build a premium electric vehicle landing page with a dark, cinematic aesthetic. The entire site uses a black background (hsl(0,0%,0%)) with light text (hsl(0,0%,95%) as primary) and orange accents (hsl(25,100%,5
Each detail page keeps the original result, the prompt, and retest evidence in one reading path.