Vibary.ai
← Vibe Coding

Message Send

The composed line lifts out of the input and lands as the newest bubble.

socialfriendlyenergeticinteraction · finite · intermediate · ~0.4s
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.

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

/**
 * Vibary · Message Send
 *
 * The composed line lifts out of the input and lands as the newest
 * bubble. The composer empties at the instant the bubble appears, so

About this pattern

Sending is the one moment in a messaging app where the user is certain something happened, and the motion's job is to confirm where it went. The composer empties at the instant the bubble appears below the thread and rises into place, so the eye follows one object rather than watching text vanish in one place and reappear in another. The bubble travels and fades; it never scales, because scaling a bubble scales the words inside it.

Sending a chat messagePosting a commentAdding a note to a threadSupport conversation reply

Where it shows up

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

  • 10:15
    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 composed line clears as the bubble arrives at the end of the thread.

Related patterns