Copied!
Template

SaaS motion landing

A product landing opener with a flowing shader backdrop, a rising headline and a scroll-read manifesto.

← Library

Template · Vanilla JS + WebGLUpdated November 5, 2026

HeroTemplateVanilla JS + WebGL

Prompt for your AI assistant

Paste this into Claude, Cursor or ChatGPT. It carries your headline and palette choice.

Build a "SaaS motion landing" first screen for my site, composed from these Enrichr Library elements:
- bg: Shader gradient background (https://enrichr.dev/elements/shader-gradient-background.html)
- hero: Split text reveal (https://enrichr.dev/elements/split-text-reveal.html)
- body: Word read highlight (https://enrichr.dev/elements/word-read-highlight.html)

Read each element's spec and source at https://enrichr.dev/elements/<name>.json and the template at https://enrichr.dev/templates/saas-motion-landing.json.
Requirements: vanilla JavaScript and CSS, no new dependencies; respect prefers-reduced-motion; keep the text real HTML; work on touch screens. Then build the rest of the page below it in the same style.

Settings:
- headline: Ship faster, look sharper
- palette: forest

Verify: reduced motion shows no movement, it works at 375px wide, there are no console errors, and the headline is readable over the background.

The template as JSON: /templates/saas-motion-landing.json.

Built from these elements

Shader gradient backgroundA slow, flowing noise gradient drawn with one WebGL fragment shader, with a CSS fallback. Split text revealA headline whose words rise out of a mask one after another when it scrolls into view. Word read highlightWords in a paragraph light up one by one as it scrolls through the viewport.

What it is for

Opening section for a product page. Add your own feature grid, pricing and footer.

SectionFull first screen
TechniquesText animation, Scroll-driven, WebGL
StackVanilla JS, WebGL
Moodmodern, fluid
StatusPreview

Accessibility and performance

Every element in this template respects prefers-reduced-motion and keeps its text as real HTML. Motion pauses when it is off screen. Check contrast after you change the palette, especially for text over the background.

Find this technique on a real site

Want to see this technique in the wild? Check any site with the free tools, then build your own version from this page.

Check which animation library a site uses · Extract a site's design tokens · Browse site breakdowns

Licence and provenance

Free to use in personal and client projects during the preview. Final licence terms will be published here before any paid tier starts; ask before reselling the code as a collection.

Automotive showcaseA dark, cinematic opener: a scroll-driven 3D mountain flyover, a rotating card ring, a headline band and a read-along statement. Editorial agency pageCalm, text-led opener for an agency or publication: reading highlight, rising headline, hover-indexed services. Studio portfolio heroA bold intro for a design studio or freelancer: popping title, running ticker and an indexed work list.

FAQ

Does it hurt page speed?

The shader runs only while visible at a capped resolution. Text is real HTML, so it paints immediately and the backdrop fills in after.

What if WebGL is off?

The backdrop falls back to a plain CSS gradient in the same colours.