Colors
tap a color to copy the hex
components
Buttons, fields, cards and the motion of this site, loose for you to try. It’s the same care I bring to every interface: instant feedback, clear states, keyboard and touch that work, and no library.
components/tokens
Color, type and timing defined once and used everywhere. It is the same token file that paints this site.
tap a color to copy the hex
Cascadia Code, a single family
Aa heading · 700
Section subheading · 350
Body text reading · 400
meta and caption muted · 13px
tap to see each duration with the site curve
components/buttons
Every tap gets instant feedback: color, a short shift, a ripple or a new state. Nothing sits still without telling you what is happening.
default · hover · focus · pressed · disabled
default → sending → sent · blocks double click
starts where you tap and reaches the page background
moves toward the pointer · stays still on touch and with reduced motion
single choice · indicator slides · arrow keys switch
showing: day
tooltip on hover, focus and tap · 44px target
components/fields
The error shows up when it makes sense, explains what is missing and goes away once the problem is fixed. The phone keyboard opens in the right type.
empty · focus · filled · error · valid
Checks when you leave the field.
hidden · visible · weak → strong
/ focuses · arrows navigate · enter opens · searches this site
checked · unchecked · focus · on · off
live value · warning near the limit · over the limit
advances on its own · goes back on delete · accepts pasting the whole code
Type any 6-digit code.
components/cards
Light that follows the pointer, numbers that count up as they appear and the card that becomes a page: the same transition that opens the cases on this site.
light and border follow the cursor or finger · tilts 2° on desktop
Balance, credit and top-ups in the same panel, with filters that respond instantly.
light line on hover, focus or when it enters the screen
count when they enter the screen · line draws the half-year
Fictional data, the same as in the Aly+ demo.
the cover travels to the detail and back · esc closes
components/feedback
Messages that explain themselves and go away on their own, loading that shows real progress and dialogs that return focus to where you were.
success · error · info · pause on hover · close on × · screen reader announces
determinate · indeterminate · skeleton
João Victor Cruz
designer and full-stack developer
opens with a short zoom · esc or backdrop close · focus returns to the button
live · warning · error · tooltip on hover, focus or tap
components/motion
The motion signatures you saw along the way, isolated. They all start from an action of yours and respect those who prefer less motion.
glyphs settle from left to right · type your own word
the glyph field behind the page, in canvas · starts at the button
Move the mouse or tap anywhere: the whole background is this component.
sweeps over the cover when hovering the home cards

types only when you ask · phosphor cursor
Hit me up on LinkedIn and tell me what you’re building.