Syncro
Syncro
DESIGN SYSTEMS
School Board Toolkit
School Board Toolkit
CIVIC DESIGN
BlueVoice Admin
BlueVoice Admin
BLUEVOICE ADMIN

Motion

Purposeful animation — every motion has a reason. Raga uses three core variants from lib/motion.ts.

Scroll Animations

Elements that animate in as they enter the viewport, driven by IntersectionObserver — no library required.

NAMETRIGGER / USAGETRANSFORM
Blur RevealContent sections fade up on scroll via IntersectionObserverTRANSLATEY(12PX) → 0, 600MS
Spacing BarsToken bars expand from 0 width on scrollWIDTH 0 → VALUE, 600MS STAGGER

Text Animations

Character-level scramble effects that resolve into legible text — used on section labels and location tags.

Text Scramble

Characters randomize through a charset then resolve left-to-right. Triggers once on scroll into view.

SELECTED WORK

TAMPA, FLORIDA

TRIGGER

Scroll into view (IntersectionObserver 0.3)

CHARS

A–Z 0–9 ! @ # $ % & *

INTERVAL

30ms per frame

RESOLVE

Left to right, proportional to length

PLAYS

Once — guard via hasPlayed ref

Entrance Animations

Three Framer Motion variants defined in lib/motion.ts — import and apply with motion.div.

Blur Entrance

Primary reveal — used on page heroes, large headings, and first-load content.

Rhythm Kumar

OPACITY

0 → 1

BLUR

12px → 0px

Y

8px → 0

DURATION

700ms

EASE

easeOut

VARIANT

blurEntrance

Blur Reveal

Scroll-triggered reveals — used on cards, body sections, and supporting content.

Scroll-triggered content reveals with a soft blur fade-up — used on cards, sections, and body copy.

OPACITY

0 → 1

BLUR

8px → 0px

Y

12px → 0

DURATION

600ms

EASE

easeOut

VARIANT

blurReveal

Stagger Container

Parent wrapper that orchestrates children entering with a 100ms offset — used for lists and card grids.

Product Design
Interaction Design
Motion & Prototyping
Design Systems

STAGGER

100ms between children

VARIANT

staggerContainer

CHILDREN

blurReveal (each item)

TRIGGER

Viewport enter

Cursor Effects

Two layered cursor systems — a sharp dot for precision, and an ambient orb for atmosphere.

Custom Cursor

12px dot with mix-blend-mode difference. Grows to 40px on hover over interactive elements.

MOVE CURSOR TO INTERACT

Cursor Orb

Violet radial gradient orb that follows cursor with /12 easing. Static center orb + cursor-following orb.

MOVE CURSOR TO INTERACT