Vibary.ai
← Vibe Coding

Tutorial Card Play

The tutorial thumbnail grows into a player, and the controls only arrive once the frame has stopped moving.

onboardingpremiumfriendlyinteraction · finite · advanced · ~0.6s
Interactive · click to play
Variant

The animated component in this preview is rendered from the canonical file shown here. The surrounding demo shell only provides context and is not part of the copied code.

585 lines · react + motion only
import { useEffect, useState } from "react";
import { AnimatePresence, motion, useReducedMotion } from "motion/react";

/**
 * Vibary · Tutorial Card Play
 *
 * The thumbnail grows into the player, and the controls only arrive
 * once the frame has stopped moving — controls that ride the expansion

About this pattern

Opening a tutorial without the jolt of a modal. The thumbnail is a shared frame that grows into the player at a matched aspect ratio, so the poster scales uniformly instead of stretching, and the transport controls are deliberately late: a scrub bar that is still travelling cannot be aimed at, so it fades up only after the frame has landed. The poster is drawn in the file from a wash and a handful of rectangles and the playhead is a timer, which keeps the pattern about the transition rather than about media loading — swap in a real element and the choreography is unchanged. The timecode is plain tabular text that counts without ever scaling.

Tutorial libraryOnboarding flowHelp centre cardFeature walkthrough