Vibary.ai
← Vibe Coding

Recovery Codes Reveal

Blurred backup codes sharpen across the grid once revealed, then copy in one press.

authenticationpremiumminimalinteraction · finite · starter · ~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.

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

/**
 * Vibary · Recovery Codes Reveal
 *
 * Backup codes are the one screen where hiding content is the feature.
 * The codes are laid out and legible as shapes from the first frame, but

About this pattern

Backup codes are the rare screen where hiding the content is the feature. The grid is laid out and readable as shapes from the first frame, so the user understands what they are about to expose, and the reveal sharpens the codes in place instead of swapping one panel for another. Blur is the property that animates because blur is the point, kept to a short ease — a code that sits half-legible is worse than one that is hidden. Codes are text, so they translate and sharpen but never scale, and there is no spring anywhere in the pattern: an overshooting blur would be unreadable mid-flight. The copy control holds its width so confirming never shoves the guidance beside it.

Two-factor backup codes screenOne-time recovery keys handoverSensitive value revealAccount recovery setup

Where it shows up

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

  • 10:15
    Enter your codeWe sent six digits to your phone
    Verification code
    4 8 2 1 0 6
    Verify
    Two-factor prompt

    A one-time handover screen with a grid of codes and a single copy action.

Related patterns