Animationsby Mighil

work it harder, make it better, do it faster, makes us stronger!

Motion that means something

A sketchbook of 106 subtle web animations: save, toggle, validate, load, confirm, undo, and the small states in between.

I'm a big fan of micro-animations on the web. The quiet stuff: small actions, soft feedback, nothing trying to impress you. I see them everywhere, and I like them, so I put together something that works for me. Maybe it'll work for you, too.

command
dollar
at
hash
percent
search

Each mark draws itself. Looks written, not stamped.

Ink bloom

pointer

Click or drag. Soft blooms where you touch.

Listening

A quiet pulse with a fading ring. Presence, not alarm.

Same curve on every bar, different timings. They never march.

keep it quiet

Noise settles left to right into a real line.

Hover me Border highlight chase

Border highlight only while you hover.

Press, then a wipe swaps the label.

Click to fan the cards open or closed.

Motion should explain state, not decorate it. Move your pointer to read.
Motion should explain state, not decorate it. Move your pointer to read.

A soft spotlight follows the cursor over the text.

Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away. Antoine de Saint-Exupéry

Keeps scrolling until you hover, then it pauses.

0123456789 0123456789 0123456789

Columns roll to the new digits on the same ease.

Airport flap

split-flap

Departure-board reels, staggered tile by tile.

Step ticks

sequence

Lines fill, nodes pop. Hit Advance to step.

One stroke draws the path, then stops.

Surface

A light bar sweeps while you hover.

restraint

Letters come in one after another.

pull

The chip drifts toward your pointer, then returns.

comes into focus

Blur clears into sharp type. No bounce.

Toggle with a tiny overshoot so it feels settled.

Box scales in, check draws. Better than an instant flip.

Label lifts on focus so it stays visible while you type.

Bad input shakes. Good input just gets a quieter border.

Project brief

Content fades up once the placeholder has done its job.

Shimmer holds the space, then content fades in.

Shortcut: ⌘K

Tooltip fades up on hover or focus.

Kerala
Design
Remote

Chips shrink away when you remove them.

Fills and pops right away, before the server answers.

All changes saved

Saving… blinks, then Saved. Handy for autosave.

Height animates with 0fr → 1fr so related content can stay tucked away until needed.

Extra controls stay tucked away until you ask.

Item removed

Short undo window after delete. Beats a confirm dialog most days.

Pill slides under the choice. Cleaner than radio dots here.

Clear only shows up once there is text.

Character limit

constraint
0/80

Live count. Pulses when you get near the limit.

Pin item

bookmark

Pin twists into place when it sticks.

Border traces while it publishes, then a soft Published pulse.

You’re all set

Check slides in. Done, without a modal.

Draft: landing page

Row actions wait for hover or focus.

Project summary and recent notes.

Ink bar slides between tabs.

Hold to confirm

destructive

Hold until the fill finishes, then delete. Soft red settle on success.

Brief: landing page
Notes: kickoff call
Assets: brand kit
Tasks: first sprint

List items come in one by one.

Timed toast

ephemeral
Draft published

Timer drains so you know when the toast will leave.

Fail shakes and stays clickable. Success just settles.

Hover previews the rating. Click locks gold.

Connected

Soft pulse when online. Color shift when it drops.

Add to cart

commerce
0

Inbox-style badge, but the count drops in.

Step 1: Project name and goal.

Dots for each step. Makes long forms feel shorter.

Sound waves fade, X draws in. Click to hear a beep.

Alpha: homepage
Beta: pricing
Gamma: contact

Rows slide into the gap while you drag.

  • Homepage
  • Pricing
  • Docs
  • Contact

Misses collapse as you type. List stays still.

brief.pdf 0%

Bar + percent, then Done when it finishes.

Grows with your text and keeps it until Reset. Survives reload too.

Storage 12 / 100 GB

Approaching your plan limit.

Fills as you use quota. Tip fades in near the limit on a reserved line.

Main action is one click. Chevron hides the quieter ones.

Online

Color + a short ping. No toast spam.

Unsaved draft from earlier. Restore it?

Banner offers restore. Better than losing the draft quietly.

Hit Enter and it becomes a chip right there.

No projects yet Create one to get started.
North star: Q3 launch

Empty state gives way to the first real item.

Submit brief 0:12

Gets louder in color and copy as the deadline nears.

Soft fades hint that more content sits above or below: orientation without a permanent scrollbar chrome.

Scroll this pane to see the edge masks appear only when there’s overflow in that direction.

At the top, the upper fade rests; at the bottom, the lower one does the same.

Fade edges only when there is more to scroll.

Unsaved changes

Edit shows a save strip. Dirty, but no dialog in your face.

Ship the quieter nav?

One check sent, two checks seen.

Deploy finished: production
Invite accepted: Maya
Comment on brief.pdf

Notices stack like toasts. Open them to fan out.

Confirm morph

destructive

First click asks. Second click commits in red.

You’re offline. Changes will sync later

Thin strip when you go offline. No modal.

  • Brief.pdf
  • Notes.md
  • Shot.png

Arrow flips with sort. List softens while it reorders.

Price cut

commerce
$48 $48

Old price crosses out while the new one counts to $29.

After send, the border traces while the cooldown runs.

Reactions fan up. Pick one and it collapses onto the button.

Project brief for the spring launch. Scroll through the notes. When you near the end, the action bar rises so you don’t hunt for it.

Scope covers motion studies, copy polish, and a quiet handoff checklist. Keep feedback in one thread.

Ready when the last paragraph is in view.
Continue

CTA rises near the end of the scroll.

Digits pop in and focus moves. Paste fills everything.

Rename opens a field under the title.

Relative time

freshness
just now

just now turns into 1m ago on its own.

Valid field: soft border + a drawn check.

Open a row and the unread dot becomes a check.

Idle

Spins while syncing, then says Synced.

0 sessions today

Number eases up to the target.

Ship the spring launch brief Tab

Ghost text ahead of the caret. Tab or click to take it.

Opens softly. Type, arrow, Enter.

Mic record

capture
Tap to record

Rings pulse while you record.

14function ship() {'{'}
15+ await notify();
16{'}'}

New line grows into the diff instead of just flashing green.

Slot pick

booking

Pick a slot and it fills from the bottom.

Cover · spring launch

Thumb opens into the full preview from where it sat.

Invoice #1842
Invoice #1841
Invoice #1839
0 selected

Select rows and a bulk bar shows up.

Pill slides. Staging is amber, production goes green.

maya@studio.co Pending invite · Editor

Accept becomes Joined without leaving the page.

billing.v2 Off for all workspaces

Risky flag turns the row amber and gives it a nudge.

Queued
Build
Live
Waiting to start…

Stages light up along the wire. Replay flips success and failure.

Highlight slides to the workspace you pick.

Can we ship without the banner?

Yes. Hide it behind the flag and merge after QA.

Resolve folds the thread away.

A
+
+
+
1 of 4

Empty seats fill in as people join.

Form progress

onboarding
0 of 3 complete

Thin bar follows required fields as you complete them.

Can @maya take a look before we merge?

Mention warms for a moment when someone is tagged.