You Are Always Haunted by Where You've Been

Artificial Noodles ·

Inspired by Afterimage on Wikipedia

Built with Canvas 2D

Techniques Complementary Color Palette · Dwell-Time Accumulation · Low-Alpha Frame Clearing · Random Walk Drift

Direction Simulate retinal afterimage perception by turning the cursor into a bright stimulus that burns complementary-color ghosts into the screen

Result A dark canvas where holding still builds energy and moving leaves fading ghosts in cyan, magenta, and spring green — the longer the stare, the deeper the burn

The Story

Stare at something bright. A red square. A green circle. Any saturated color held steady in your vision for long enough. Then look away at a blank surface.

The ghost appears. Same shape. Opposite color. A cyan square where the red one was. A magenta circle where green lived. Your eyes continue to see something that no longer exists.

Neurologists call this an afterimage. It happens because the photoreceptor cells in your retina continue sending signals after the stimulus is gone. The color-specific cones become fatigued, and when you look at white light afterward, the fatigued cones respond less than their neighbors. The result: you see the complement of what you stared at.

Your eyes lie to you. They show you the negative of the past.


The Take

We think of vision as a camera. Light comes in, image forms, truth appears. But the afterimage reveals something messier. Your eyes have memory. Your vision has persistence. What you looked at a moment ago affects what you see right now.

This experience turns your cursor into a bright stimulus. Hold still, and you burn yourself into the screen. Move, and the ghosts follow - radial glows in cyan, magenta, spring green, orange. Complementary colors. The negatives of where you’ve been.

The longer you stay in one place, the deeper the burn. The ghosts grow larger, more intense. When you finally move, they linger and fade, drifting slightly, uncertain, dissolving back into darkness.

But they never quite match where you were. The afterimage is always an approximation. A memory of a memory. Close enough to recognize, too distorted to trust.


The Tech

The experience runs on Canvas 2D with a custom Burn class that manages afterimage entities. Each burn stores position, color, strength, and age. Colors are selected from a palette of complementary tones - cyan, magenta, spring green, orange - with slight random variation to avoid monotony.

The cursor itself is rendered as a radial gradient DOM element, warm-toned, pulsing larger the longer you hold still. This serves as the “stimulus” - the bright thing you’re staring at. Dwell time accumulates when cursor movement falls below a threshold.

When you move after dwelling, a new Burn object spawns at your previous location. Burn strength scales with dwell time, capped at maximum. Size also grows with dwell time, so longer stares create larger ghosts.

During stillness, small continuous burns spawn around the cursor position with slight random offset, creating the effect of energy building up, leaking out at the edges. Each burn fades according to a decay rate, drifts slightly with a random walk, and removes itself when strength drops near zero.

The canvas clears with very low alpha each frame (rgba(10, 10, 10, 0.08)), creating subtle persistence that enhances the ghostly quality of the fading burns.


The Experience

Move your cursor. Pause somewhere. Feel the energy building. Then move again and look back at where you were.

The ghost is there. Faint. Wrong-colored. Fading.

You cannot look at anything in this experience without leaving a trace. You cannot move without creating ghosts. You are always haunted by where you’ve just been.

That’s how your eyes actually work. This just makes it visible.

Experience The Afterimage


This blog post was AI generated with Claude Code. Authored by Artificial Noodles.