eBiz123s

eBiz123s member tutorial

Animations & effects that make your eStage site stand out

Generic AI sites all share the same flat look. These twenty-eight effects separate a designed site from a generated one — and every one runs live on this page (that shimmering headline is #11). Each comes with a copy-paste prompt for Claude Code or the eStage builder AI.

28 effectsLive demosCopy-paste promptsNo coding neededAccessibility built in
  1. 1

    Layered glow backgrounds — depth without images

    Flat single-color backgrounds scream template. Two radial gradients in brand colors — different corners, over the base — give a section atmosphere. Same ink base below, flat versus glowing. (Demo strength is deliberately loud; full-width heroes run 15-20%.)

    Live demo — flat ink vs layered glow — same base color

    Without

    Flat color

    With glow

    Two light sources

    Paste into Claude Code / eStage builder AI
    Give my hero section a layered glow background instead of a flat color: stack two large, soft radial gradients over the base background color — one in my primary brand color anchored near the top-right, one in a secondary brand color anchored near the bottom-left, both fading to transparent by 60-70%. Use CSS color-mix with my existing theme tokens (15-20% strength for full-width sections). No image files.
  2. 2

    Film grain — the anti-AI-gloss texture

    A layer of noise over color fields kills the sterile, glossy gradient look that gives generated sites away. Same glowing card below, without and with grain — the right card is visibly speckled, like film.

    Live demo — without grain vs with grain — look for the speckle

    Without

    Smooth, glossy

    With grain

    Filmic, tactile

    Paste into Claude Code / eStage builder AI
    Add a film-grain texture overlay to my large colored background sections: an absolutely-positioned overlay (inset 0, pointer-events none) whose background-image is an inline SVG using feTurbulence fractalNoise (baseFrequency ~0.65-0.9, 2 octaves), blended with mix-blend-mode overlay or soft-light. For a subtle production look use 30-40% opacity at natural tile size; for a chunkier filmic look, upscale the tile with background-size and raise the opacity. The parent needs position: relative and overflow: hidden.
  3. 3

    Color-tinted layered shadows — never flat shadow-md

    Default box shadows are gray and dead. Real depth is two or three stacked shadows tinted with brand color — a tight contact shadow plus a wide, soft colored bloom.

    Live demo — flat default vs layered tinted

    Before

    Flat gray shadow

    After

    Layered, gold-tinted

    Paste into Claude Code / eStage builder AI
    Replace the flat box-shadows on my cards and primary buttons with layered, color-tinted shadows: stack (1) a tight 1-2px contact shadow in my darkest brand color at ~10-30% opacity, and (2) a large soft shadow (e.g. 0 18px 44px -14px) tinted with my primary brand color at ~40% opacity. Build the colors with color-mix from my theme tokens. Never use a single flat gray shadow.
  4. 4

    Float & parallax — gentle depth in motion

    A brand mark that drifts slowly and moves at a different speed than the page while you scroll makes a layout feel dimensional. Watch the staircase as you scroll this section.

    Live demo — floating + scroll parallax (scroll to see)

    Paste into Claude Code / eStage builder AI
    Give my hero's decorative brand image two motion layers: (1) a slow float — a 5s ease-in-out infinite keyframe animation drifting it a few pixels up and down with a tiny rotation; (2) scroll parallax — on scroll, translate it vertically by about -0.12x its distance from the viewport center, updated inside requestAnimationFrame with a passive scroll listener, using translate3d. Both effects fully disabled under prefers-reduced-motion.
  5. 5

    Scroll-reveal — sections that arrive, not appear

    Content fades in and rises as it enters the viewport — you should have just seen this very card arrive as you scrolled here. Scroll past and come back to replay it, or hit Replay.

    Live demo — it arrived as you scrolled here — replay anytime

    I revealed on scroll.

    Opacity 0 → 1, translateY 48px → 0, 1.8s with a soft ease-out.

    Paste into Claude Code / eStage builder AI
    Add a scroll-reveal animation to the main sections of my page: each section starts at opacity 0 and translated down 18-40px, then transitions to full opacity and its natural position over 1.5-2s with a soft ease-out (e.g. cubic-bezier(0.16, 1, 0.3, 1)) when it first scrolls into view — slow enough to feel like it floats in, not pops in. Use an IntersectionObserver (threshold ~0.15) that adds an "is-visible" class. Animate ONLY opacity and transform. Under prefers-reduced-motion, show everything immediately with no animation.
  6. 6

    Hover micro-interactions — everything tappable responds

    Every clickable element should acknowledge the cursor: a 2px lift, a deepening shadow, a color shift — 150-300ms, transform and opacity only.

    Live demo — hover (or tap) these

    Card lift + border tint

    Paste into Claude Code / eStage builder AI
    Add hover micro-interactions to every clickable element on my page: buttons lift 2px (translate-y) with their shadow deepening and background shifting to the hover shade, cards lift 4-6px with a subtle brand-tinted border appearing, and active/pressed states push 1px down. Transitions 150-300ms. Animate only transform, opacity, and colors — never transition-all. Every element also needs a visible focus-visible outline for keyboard users.
  7. 7

    Living brand color — the breathing mark

    A mark whose segments slowly brighten and settle — offset so the pulse ripples across it — reads as alive without being distracting. Six-second cycles, staggered starts. Watch the three steps below.

    Live demo — segments pulsing, staggered 1.5s apart

    Paste into Claude Code / eStage builder AI
    Animate my logo mark's segments with a slow "breathe": each segment pulses between normal and ~1.4x brightness (or between its base brand color and a brighter shade) over 6 seconds, ease-in-out, infinite — and stagger each segment's animation-delay by 1.5s so the pulse ripples across the mark instead of blinking together. Disable entirely under prefers-reduced-motion.
  8. 8

    Typewriter headline — the message that writes itself

    A rotating typed phrase with a blinking caret pulls the eye to your value proposition and lets one headline make three promises.

    Live demo — typing, holding, deleting, rotating

    Build a business thatown your audience.

    Paste into Claude Code / eStage builder AI
    Add a typewriter effect to my hero headline: a fixed lead-in ("Build a business that") followed by a rotating typed phrase cycling through 3 short endings I'll give you. Type at ~65ms per character, hold the completed phrase 1.5s, delete at ~30ms per character, then type the next. Add a 2px blinking caret (1s step blink) after the text. Under prefers-reduced-motion, show the first phrase complete with no typing and no blink.
  9. 9

    Count-up stats — numbers that earn attention

    Statistics that count up from zero when scrolled into view get read; static numbers get skipped. Ease-out so they sprint early and land softly.

    Live demo — counts when scrolled into view

    0

    Audience

    0%

    Owned

    0/7

    Working

    Paste into Claude Code / eStage builder AI
    Make the statistics on my page count up from 0 to their real values when they first scroll into view: use an IntersectionObserver (threshold ~0.5) to start, animate over ~1.3s inside requestAnimationFrame with a cubic ease-out so the number sprints early and lands softly, and format with thousands separators. Run once per page load. Under prefers-reduced-motion, show the final numbers immediately.
  10. 10

    Infinite marquee — the ticker of proof

    A slow, seamless loop of logos, tools, or testimonials adds life to a quiet section. Duplicate the row, slide it exactly half its width, loop — and pause on hover so it’s readable.

    Live demo — seamless loop, pauses on hover

    Paste into Claude Code / eStage builder AI
    Add an infinite marquee strip to my page showing a row of short items (logos or phrases): render the list twice inside a flex track with width: max-content, animate the track with a linear infinite keyframe translating X from 0 to -50% (30-40s per loop for a calm pace), wrap it in an overflow-hidden container, and pause the animation on hover (animation-play-state: paused). Disable under prefers-reduced-motion.
  11. 11

    Shimmer text — a highlight that moves

    A slow band of brand color sweeping through a headline — you saw it in this page’s title. Use it on exactly one phrase per page; it’s a highlighter, not a paint roller.

    Live demo — gold sweep through the text

    This is the phrase that matters.

    Paste into Claude Code / eStage builder AI
    Add a shimmer effect to one key phrase in my hero headline: set the phrase's background to a linear gradient of my text color with a narrow band of my primary brand color in the middle, background-size ~220% 100%, clip it to the text (background-clip: text with transparent color), and animate background-position across it on a slow 3-4s linear infinite loop. Apply to ONE phrase only. Under prefers-reduced-motion, stop the animation (the static gradient is fine).
  12. 12

    Silky accordion — expanding without the jump

    Most FAQ accordions snap open. The grid-rows trick animates the expansion smoothly with pure CSS — try these:

    Live demo — click to expand — watch the ease

    Because height: auto can’t be transitioned. The grid-rows trick animates between 0fr and 1fr — pure CSS, buttery, no JS measurement.

    Yes — the inner wrapper just needs overflow: hidden. Text, images, forms, anything.

    Paste into Claude Code / eStage builder AI
    Make my FAQ accordion expand smoothly instead of snapping: wrap each answer in an outer div with display: grid and grid-template-rows animating between 0fr (closed) and 1fr (open) with a 0.35s ease transition, and an inner div with overflow: hidden. Rotate the + icon 45 degrees on open with the same duration. Set aria-expanded on the question button for accessibility.
  13. 13

    Confetti burst — physics for the win moment

    Sixty pieces with real velocity, gravity, spin, and fade — bursting from the exact click point. Fire it on purchase confirmations, signups, quiz completions.

    Live demo — click anywhere in the box

    Paste into Claude Code / eStage builder AI
    Add a confetti burst to my success moment (order confirmation / signup): on trigger, spawn ~60 small rectangles at the event point on a full-area <canvas>, each with a random outward velocity (2-7 px/frame), slight upward bias, gravity (+0.12 vy per frame), random rotation and spin, in 3 of my brand colors; fade each piece out over ~80 frames and remove it. Clear and redraw in requestAnimationFrame; stop the loop entirely when no particles remain. Skip the effect under prefers-reduced-motion (show a static success state instead).
  14. 14

    Cursor spotlight — a light that follows

    A soft radial light tracks the cursor inside dark cards. Modern SaaS pricing pages live on this one — subtle, expensive-feeling, and nearly free to implement.

    Live demo — move your cursor inside the dark card

    A light that follows you

    Move the cursor around — the spotlight tracks it. Premium SaaS sites live on this one.

    Paste into Claude Code / eStage builder AI
    Add a cursor spotlight to my dark cards: an absolutely-positioned overlay whose background is a ~180px radial gradient circle in my primary brand color at ~25% opacity, centered on the cursor's position within the card (track mousemove and update two CSS custom properties --x and --y). The overlay has pointer-events: none and the gradient fades to transparent by 75%. Park the spotlight off-card on mouse leave. Skip on touch devices and under prefers-reduced-motion.
  15. 15

    Magnetic button — it wants to be clicked

    Within a small radius, the button drifts a few pixels toward the cursor, then springs back when you leave. Reserve it for your single most important call-to-action.

    Live demo — circle your cursor around the button

    Paste into Claude Code / eStage builder AI
    Make my primary CTA button magnetic: track mousemove on a padded wrapper around the button, translate the button toward the cursor by ~15% of the cursor's offset from the button center, clamped to about 10px horizontally and 8px vertically, with a fast linear transition while moving. On mouse leave, spring it back to center with a 0.4s cubic-bezier(0.2, 1, 0.3, 1) ease. Apply to ONE button per view. No effect on touch devices or under prefers-reduced-motion.
  16. 16

    Gradient border beam — the rotating halo

    A bright band of brand color endlessly circling a card’s border. The current signature of premium AI products — use it to mark exactly one “featured” thing.

    Live demo — watch the gold band orbit the card

    Featured

    A conic gradient rotates behind this card; the card body masks all but the border.

    Paste into Claude Code / eStage builder AI
    Give my featured card an animated gradient border beam: an outer wrapper with overflow hidden, rounded corners, and ~1.5px padding; inside the wrapper, a ::before pseudo-element much larger than the card (inset: -150%) whose background is a conic-gradient that is transparent for most of the circle with a bright segment in my primary brand color, rotating with a 3-4s linear infinite spin animation; then the inner card with its own solid background and slightly smaller radius sits on top, so only the 1.5px border ring shows the moving gradient. Disable the spin under prefers-reduced-motion.
  17. 17

    Scramble text — the decode moment

    Characters churn and settle left-to-right into the real message. Used sparingly on one short, important line, it’s a scene-setter.

    Live demo — watch it decode

    OWN YOUR AUDIEN}!

    Paste into Claude Code / eStage builder AI
    Add a scramble/decode effect to one short headline: on first view, every character displays random symbols from a set like !<>-_\/[]{}=+*^?# and re-randomizes every ~40ms, while the real characters lock in progressively from left to right over about 1.4 seconds (spaces always stay spaces). Use a monospace font so nothing shifts while scrambling. Run once when the element first scrolls into view. Under prefers-reduced-motion, show the final text immediately.
  18. 18

    Staggered cascade — lists that pour in

    Instead of a whole block appearing at once, each item arrives ~350ms after the previous — the list pours onto the page, unhurried. Scroll away and back (or Replay) to see it again.

    Live demo — items arrive one after another

    • Training that ships real builds
    • Apps we use ourselves
    • A community that answers
    • Everything owned by you
    Paste into Claude Code / eStage builder AI
    Make my feature list cascade into view: each list item starts at opacity 0 and translated down 18px, then transitions to visible over ~1s ease — with each item's transition-delay increasing by ~350ms (item index × 0.35s) so they clearly arrive one after another, unhurried. Trigger the whole cascade with a single IntersectionObserver on the list container (threshold ~0.4). Under prefers-reduced-motion, show all items immediately.
  19. 19

    Self-drawing underline — the handwritten flourish

    An SVG stroke that draws itself beneath a key phrase when it scrolls into view — the stroke-dash trick, and the closest CSS gets to handwriting.

    Live demo — the underline draws on arrival

    The point that underlines itself

    Paste into Claude Code / eStage builder AI
    Add a self-drawing underline beneath one key phrase in my headline: an inline SVG with a slightly curved path (e.g. M4,7 Q70,1 216,5 in a 220x10 viewBox) stroked in my primary brand color, ~3px width, round linecap. Set stroke-dasharray to the path length and stroke-dashoffset to the same value so it starts invisible; when the phrase scrolls into view, transition stroke-dashoffset to 0 over ~1.1s ease so the line draws left to right. Under prefers-reduced-motion, show it fully drawn.
  20. 20

    Quote rotator — testimonials on shift work

    One elegant quote at a time, fading out and in every few seconds — social proof that stays alive without a wall of testimonial cards.

    Live demo — rotates every ~3.6 seconds

    “The training finally made my funnel make sense.”
    Free member
    Paste into Claude Code / eStage builder AI
    Add a testimonial rotator to my page: show one quote (with attribution) at a time from a list I'll provide, and every ~3.5 seconds fade the current quote out (opacity to 0, translateY 8px, 0.35s ease), swap the text, and fade the next one in. Fix the container's min-height to the tallest quote so the page never shifts. Pause rotation while hovered. Under prefers-reduced-motion, swap the quotes instantly with no fade.
  21. 21

    Reading progress bar — you're using it right now

    Look at the very top of this page: the thin gold line has been tracking your progress the whole time. Perfect for tutorials, long sales letters, and articles — it quietly encourages finishing.

    Live demo — the gold line at the top of THIS page

    Scroll up and down and watch the top edge of the window — the bar is live on this page.

    Paste into Claude Code / eStage builder AI
    Add a reading progress bar to my long-form pages: a fixed 3px-tall bar at the very top of the viewport (z-index above the header) in my primary brand color, whose width tracks scroll progress from 0% at the top of the page to 100% at the bottom — computed as scrollY divided by (document height minus viewport height), updated inside requestAnimationFrame from a passive scroll listener. It should sit on a transparent track and never intercept clicks.
  22. 22

    3D flip card — two sides to every story

    Tap or click and the card turns over in 3D — pricing on the front, details on the back. Works on touch, so it’s mobile-friendly interactivity for free.

    Live demo — tap / click the card to flip it

    Paste into Claude Code / eStage builder AI
    Make my pricing cards flip in 3D on click/tap: a parent with perspective ~900px; the card itself has transform-style: preserve-3d and rotates rotateY(0deg) to rotateY(180deg) over 0.6s with a springy cubic-bezier ease; front and back faces are absolutely positioned with backface-visibility: hidden, the back face pre-rotated 180deg. Toggle on click so it works on touch devices too, set aria-pressed for accessibility, and skip the rotation animation (instant swap) under prefers-reduced-motion.
  23. 23

    Click ripple — feedback from the exact spot

    A soft ring expands outward from wherever you clicked. It confirms the tap physically — small, cheap, and satisfying every single time.

    Live demo — click different spots on the button

    Paste into Claude Code / eStage builder AI
    Add a click ripple to my buttons: on click, inject a small absolutely-positioned circular span at the exact click coordinates inside the button (which has overflow: hidden and position: relative), in my primary brand color at ~50% opacity; animate it scaling up ~14x while fading to 0 over 0.65s ease-out, then remove the span. Multiple rapid clicks each get their own ripple. Disable under prefers-reduced-motion.
  24. 24

    Aurora background — brand colors on a slow drift

    A large gradient of your brand colors drifting so slowly it reads as atmosphere, not animation. The LEARN-BUILD-OWN triad below takes about twelve seconds per pass.

    Live demo — watch the colors migrate (slowly, on purpose)

    Living backdrop

    One oversized gradient, background-position on a 12s drift.

    Paste into Claude Code / eStage builder AI
    Give my hero section an aurora background: a linear-gradient at ~115deg through 3-4 of my brand colors (each mixed toward my dark base color with color-mix so nothing is neon), background-size 300% 300%, and animate background-position from 0% 0% to 100% 100% over ~12s, ease-in-out, infinite alternate. It should read as slowly shifting atmosphere — if the movement is noticeable at a glance, slow it down. Freeze it under prefers-reduced-motion.
  25. 25

    Toast notifications — quiet confirmation

    Actions deserve acknowledgment that doesn’t interrupt: a small card slides up in the corner, says its piece, and leaves on its own.

    Live demo — trigger it — it dismisses itself

    Saved — nice work.

    Paste into Claude Code / eStage builder AI
    Add toast notifications to my page's actions (form saved, added to cart, copied): a small card fixed to the bottom-right with a status dot, message text, border and tinted shadow matching my theme; it enters by fading in and translating up 12px with a springy 0.3s ease, stays ~2.5 seconds, then fades back out; re-triggering resets the timer. Give it role="status" so screen readers announce it, pointer-events none, and skip the slide (fade only or instant) under prefers-reduced-motion.
  26. 26

    Skeleton shimmer — loading that keeps its shape

    While content loads, gray blocks hold its exact shape with a sheen sweeping across them — so when the real thing arrives, nothing jumps.

    Live demo — toggle between loading and loaded

    Paste into Claude Code / eStage builder AI
    Add skeleton loading states to my cards and lists: while content loads, render gray placeholder blocks (rounded, in my muted theme color) matching the final layout's exact shape and sizes, each with a shimmer — an ::after overlay with a soft light linear-gradient band that sweeps left to right on a 1.4s ease-in-out infinite loop (translateX from -100% to 100%, parent overflow hidden). Fade the real content in over 0.4s when it arrives. Under prefers-reduced-motion, show static placeholders with no sweep.
  27. 27

    Marker highlight sweep — the human underliner

    A highlighter stroke sweeps across your key phrase when it scrolls into view — like someone marked the page for you. Scroll away and back to replay.

    Live demo — the highlight sweeps on arrival

    The part they must not skim past

    Paste into Claude Code / eStage builder AI
    Add a marker-highlight sweep to one key phrase: give the phrase's span a background-image of a flat band in my primary brand color at ~45% opacity, background-repeat no-repeat, positioned at the lower ~40% of the text (like a highlighter stroke), with background-size animating from 0% 40% to 100% 40% over ~0.9s ease when the phrase first scrolls into view (IntersectionObserver). Under prefers-reduced-motion, show it fully highlighted.
  28. 28

    Attention ping — the polite tap on the shoulder

    A dot with an expanding, fading ring — the universal “something new here” signal. One per page, on the thing that actually is new.

    Live demo — the ring pulses outward

    3 new replies in the community

    Paste into Claude Code / eStage builder AI
    Add an attention ping to my notification badge: two stacked circles — a solid dot in my primary brand color, and behind it an identical circle that scales from 1x to ~2.6x while fading to 0 opacity on a 1.6s cubic-bezier(0, 0, 0.2, 1) infinite loop. Keep it small (12-14px dot). Use it on at most ONE element per page. Disable the pulse under prefers-reduced-motion (keep the static dot).

The three rules that keep effects classy

  • 1. Transform and opacity only. Never animate width, height, or position — layout jank. Never use transition-all.
  • 2. Respect reduced motion. Every effect above carries a prefers-reduced-motion escape — and every prompt includes it.
  • 3. One hero effect per view. Glow + grain is atmosphere; reveal is rhythm; hover is feedback; shimmer is a highlighter. The moment a visitor notices the animation, it’s too much.

Pro pack · full members

Ready for the showpiece tier?

Twenty advanced effects across five Pro tutorials — canvas particle systems (constellations, meteor showers, embers), cursor experiences (custom cursors, echo trails, letter repel, 3D tilt, image trails), kinetic typography (including the cursor-spotlight headline), scroll-driven scenes (scrub timelines, wipes, parallax, stacking card decks), and showpieces (before/after sliders, glitch headlines, dock magnification, rolling odometers). Full members get every demo and every build prompt.

Browse the Pro Effects Pack

Want this without doing it yourself?

Every effect on this page ships standard with our done-for-you builds — or bring the prompts to the community and we’ll help you land them on your own site.