The lamp, alive.
Our mascot is a lamp, so it behaves like one: it hangs and swings, warms up when you come close, switches off to sleep and flickers when something breaks. Everything here is the real component — move, drag, click, then leave it alone for a while.
- Move the pointer
- Drag to swing
- Click to switch
- Wait nine seconds
Six things it does when you are around.
Each card turns on one behaviour, so you can feel it on its own.
Eyes follow
Pointer moves anywhere on the page
Both eyes slide up to 0.7 units toward the pointer, easing in 160 ms.
Warm up
Pointer rests on the lamp
The glow widens 12 % over 320 ms; after 0.9 s the eyes close into a smile.
Switch
Click, tap, Enter or Space
Light off: glow and bulb fade in 180 ms, eyes close, a z drifts up. Light on: one short flicker, then full glow.
Swing
Drag the pendant sideways, or tap it
Follows the pointer up to ±35° around the cord, then settles on a damped spring. A tap is a small nudge.
Hop
Tap the table lamp
Hops 2.6 units and lands with a small bounce in 700 ms; the glow stays on the table.
Doze off
Nine seconds without input
The light goes out and the eyes close; any pointer move or key wakes it with a flicker.
The product sets the mood. The person plays with it.
Screens tell the lamp what is going on — thinking, loading, done, asleep, broken. Interactions still work on top, so a lamp that is loading can still be poked.
Awake. Default. Blinks every few seconds.
Every animation the lamp already has.
Hand-drawn Lottie for illustration, CSS and Lottie for the flat lamp in product UI. All of them come from the same geometry in scripts/brand.
Lighting the room
How it works · hand-drawn, 12 fps
Aethera Studio launch
Launch · hand-drawn, 8.5 s
Hello
Onboarding, success
Thinking
Analysing the photo
Loading
Short waits
Finding
Matching products in stock
Imagining
Generating a redesign
Mascot to mark
Closing onboarding or a video
Pendant · hello
CSS · 2.4 s, once
Table lamp · hello
CSS · 2.4 s, once
Pendant · loading
CSS · 1.6 s loop
Table lamp · loading
CSS · 1.6 s loop
The numbers behind it.
- Ease
- cubic-bezier(0.165, 0.84, 0.44, 1)
- Eyes follow
- ±0.7 units · full at 240 px · 160 ms
- Blink
- every 2.6–5.2 s · 140 ms
- Warm up
- glow ×1.12 · 320 ms · smile after 900 ms
- Switch
- fade 180 ms · one flicker on
- Swing
- ±35° · spring k 38, damping 2.6
- Hop
- 2.6 units · 700 ms
- Doze
- after 9 s idle · eyes close 900 ms later
- Loading
- glow breathes over 1.6 s
- Reduced motion
- No swing, flicker, breathing or bobbing — states still change, instantly
Keep it a lamp.
- One lamp per screen. It reacts to the person, never performs on its own for attention.
- Motion is light and gravity: it hangs, swings, hops, glows. It never spins, stretches or bounces off walls.
- Light carries the mood. Off means asleep or broken; never turn it off as decoration.
- Interaction is a bonus, not a gate. Nothing important hides behind a click on the lamp.
Shapes, colours and downloads live on the brand page.