Tidepool
A shared canvas for sketching with friends.
1
Creative developer, Lagos
I build playful interfaces that feel alive. Most of my work sits between design and engineering: small tools, odd games, and websites that reward a second look. Right now I am exploring multiplayer canvases and generative sound.
A shared canvas for sketching with friends.
A pixel game about selling noodles after dark.
A tiny journaling app that only opens at dusk.
Ambient soundscapes generated from tide charts.
Say hi at [email protected]. I reply to every note, usually with a sketch.
A wrapper that has a swarm of cursors build your page in front of the visitor when it loads.
npx shadcn@latest add ikislay/pixel-ui/swarm-revealimport { SwarmReveal } from "@/components/ui/swarm-reveal"export function Demo() {return (<SwarmReveal className="flex flex-col gap-4 p-8"><img data-swarm src="/banner.png" alt="" className="rounded-xl" /><h1 data-swarm className="text-2xl font-semibold">Mira Okafor</h1><p data-swarm="text">I build playful interfaces that feel alive.</p><article data-swarm="carry" className="rounded-xl border p-4">Tidepool</article></SwarmReveal>)}
1// Loading…
Options you can pass to customize this component.
cursorsnumberHow many cursors build the page at once.
variantcolormonoColor gives every cursor its own bright hue. Mono uses greys only.
statusbooleanShows a pill at the bottom with how many cursors are building and how far along the page is.
data-swarm"""text""image""carry"Put it on any child to have a cursor build it. Leave it empty to pop the element in; images, videos and svgs paint in by default.