A drawn phone glides up into a settled tilt while notification cards drop in and the stack behind them recedes
This is the format it was composed for. Switch above to see it lay itself out for another: same animation, re-arranged for the frame.
Everything below can be changed without touching the animation. Hand the list to an agent, or edit the values at the bottom of the component file.
The cards, in the order they land: the first entry arrives first and ends up at the top of the stack, dimming as the later ones drop in. Three reads best; four is the ceiling before the stack runs out of screen.
now: 3 items
Lock-screen time. Set large under the status row, and again small inside the status row itself.
now: 9:41
Small uppercase mono line above the big clock, e.g. 'Tuesday 12 March'. Omit for a barer screen.
now: Tuesday 12 March
Battery fill in percent, drawn into the status-row cell. Deliberately never written out as text.
now: 78
Small mono label at the top left of the frame, beside an accent tick. Omit to leave the device alone.
now: Push
One display-face line at the top of the frame. Five to nine words: it wraps to two lines and must not reach down to the device.
now: Everyone knows the moment it ships.
Settled rotateX in degrees. 0 is a flat mockup; 7 reads as a device held slightly away; past 12 the screen starts to keystone and the type in it softens.
now: 7
Brand token id, one of the keys of BRANDS.
now: slate
No Tailwind, no CSS, no asset files. Inline styles only.
A 9:16 product shot of a phone rising up into frame and settling with a slight backward tilt, drawn entirely in code, thick bezel, Dynamic Island cutout, a status bar with signal bars and a battery, and then three notification cards sliding down and stacking on the lock screen, each with an accent-tinted app icon, a bold title, a message line and a 'now' timestamp, staggered, with the cards behind scaling down and dimming as new ones land.