Craft
Small interactions I’ve built/rebuilt to work out why they feel the way they do. Each one is live so try them out. The button in the corner copies a prompt you can hand to your coding agent to build the same thing in your own app.
Blur sweep reveal
Sliding icon tabs
Dynamic Island
Family drawer
Inverting pill nav
Morphing status
Fade blur
The last tram home
The rain had polished every window on the last tram home. Mara took the seat behind the driver and watched the city loosen into long ribbons of amber, each streetlamp briefly keeping pace before slipping back into the dark.
At the river, the tram stopped for nobody. The doors sighed open anyway, letting in the smell of wet stone and a small square of night. On the opposite bank, an apartment window blinked twice, paused, then blinked once more.
It was the old signal. Years ago, when the two of them lived on different sides of the water, they had used it to say: still awake, still here. Mara leaned towards the glass, though there was no chance anyone could see her through the rain.
The driver waited. Perhaps he had noticed the light too, or perhaps the timetable simply allowed for small mysteries after midnight. Mara raised her hand and tapped twice against the window, waited, then tapped once.
Across the river, the room went dark. A moment later the tram bell rang, bright and ordinary, and the city began moving again. Mara sat back smiling, carrying the answer with her all the way home.