Vibary.ai
← Vibe Coding

Avatar Upload Reveal

A placeholder silhouette fades out as the uploaded photo slides up into the avatar circle, then a check badge fades in.

onboardingfriendlycalmautomatic · finite · starter · ~0.8s
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.

208 lines · react + motion only
import type { CSSProperties } from "react";
import { motion, useReducedMotion } from "motion/react";

/**
 * Vibary · Avatar Upload Reveal
 *
 * An onboarding photo step. The placeholder silhouette fades out and
 * the uploaded photo slides up into the avatar circle, then a check

About this pattern

A photo step should confirm the upload without restaging the whole screen. This belongs on the onboarding flow when a photo is chosen, and on the profile page when a photo is replaced. The placeholder only fades, because a silhouette that performs would compete with the photo arriving; the photo only translates on an eased tween and settles on one critically damped spring, the only settle in the file, because a portrait should land rather than bounce; the check badge and the caption only fade in after the photo is still, because words and marks that move read as unfinished work. Under reduced motion the beats keep their order and lose their travel.

Onboarding flow when a profile photo is chosenProfile page when a photo is replacedSign-up flow at the photo stepTeam settings when a member uploads a photo

Where it shows up

Screens we drew to show where this motion usually sits. Illustrations, not captures of any product.

  • 10:15
    Set up your workspaceStep 2 of 4
    What should we call it?
    Ridgeline
    Who else is joining?
    3 invited
    Next
    Onboarding flow

    The uploaded photo replaces the placeholder avatar as the photo step completes.

  • 10:15
    Priya RamanTrail running · Gothenburg
    214Posts1,842Followers306Following
    Follow
    Priya Raman2hFinally got the trail loop under an hour. Four months of Tuesdays.
    12814
    Profile page

    A new profile photo fades in over the old avatar after an upload.

Related patterns