Vibary.ai
← Vibe Coding

Group Join

A joining member's avatar drops into the stack, the others make room, and the count rolls by one.

socialfriendlyenergeticautomatic · finite · intermediate · ~2.6s
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.

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

/**
 * Vibary · Group Join
 *
 * Someone joins: their avatar drops into the front of the stack, the
 * others make room, and the member count rolls over by one. Three small

About this pattern

Three movements, one event: the new avatar falls into the front of the stack, the discs already there shuffle aside to let it in, and the member total rolls over. Because they share a spring and start together, they read as a single arrival rather than as three widgets updating. The stack shifts with position-only layout animation, so the monograms travel without ever being stretched, and the number rolls on a tween — numerals that overshoot and settle back look like a fault, and text is not allowed to bounce here. The status line underneath lives in a fixed-height slot so naming who joined never grows the header and pushes the conversation down.

Member joins a group chatParticipant enters a callCollaborator opens a shared docChannel roster update

Where it shows up

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

  • Dana Whitfield
    Priya Raman
    Ops standup
    Marcus Bell
    Design sync
    Nils Bergström
    Dana Whitfieldonline
    Morning — did the venue confirm?
    They did, contract came back signed.10:14
    Are we still on for Thursday?
    Yes — booked the room for 2pm.10:14
    Perfect. I'll bring the printouts.
    See you then.10:14
    Message
    Chat thread

    The group header updates its participant count as people are added.

Related patterns