In 1997, Alexei Shulgin used raw HTML form elements — buttons, checkboxes, text fields — as artistic material, stripping them of function to reveal their form.
In 2026, every form is a surveillance instrument, a consent ritual, a behavioral nudge. These pieces reclaim the form element as purposeless beauty and uncomfortable mirror.
New pieces draw from the NewONTOLOGY universe — synthetic beings, machine consciousness, recursive identity, and post-biological emergence.
The more you agree, the more is asked. An infinite regression of compliance — the dark pattern as ouroboros.
This website uses cookies to remember you.
The cookie banner that ate the website. What began as a legal footnote now consumes the entire viewport — consent as architecture.
Select all squares containing your reflection
Prove you exist to a machine that doesn't. The verification ritual inverted — here, the test is designed so that no one can pass.
A search engine with no index, no results, no server. The cursor blinks in an empty field — the most honest search interface ever built.
( you cannot control these )
Quantify the unquantifiable. Drag "existential dread" to a number between 0 and 100 and pretend that means something.
A locked door with nothing behind it. The password field guards an empty room — security theater in its purest form.
Are you sure? Are you sure you're sure? The confirmation dialog as infinite mirror — every click spawns another question.
The legal contract you signed by being born. Nobody read it. Nobody can opt out. The scroll position is your only rebellion.
A form that asks the questions your therapist won't. Name, purpose, proof of consciousness — fill in the blanks or leave them empty. Both are valid.
Letters rendered in the smallest unit of digital consent. Each glyph is a grid of yes/no — typography as referendum.
After Shulgin's original gesture: the checkbox liberated from function, existing purely as visual rhythm. A meadow of binary choices with no consequence.
Radio buttons arranged as a sine wave — mutually exclusive choices undulating across the screen. Only one can be selected per row, but the wave doesn't care.
Each button is a word. Each word is a command. The poem is an interface; the interface is a poem. Click nothing — just read.
Dropdown menus stacked like vertebrae. A spine of options, each containing multitudes — a tower of Babel built from select elements.
Textareas as brutalist architecture. Monolithic input fields arranged like concrete blocks — the comment box as housing project.
Range sliders arranged as a landscape. The horizon line is adjustable — drag the sunset to your preferred position.
A skyline of progress meters. Each building is a bar filling up with unknown data — the city grows as metrics accumulate.
Text inputs arranged as corridors. Type into the walls, navigate by tabbing. There is no exit — the labyrinth is the form itself.
A field of identical buttons with no labels. Pure potential energy — each one could do anything, so together they do nothing.
The scrollbar extracted from its context and exhibited as form. Navigation without content — the journey with no destination.
The form element as electronic component. Traces, solder points, and logic gates rendered in HTML's most primitive building blocks.
A bitmap skull in checkboxes — memento mori for the digital age. Each checked box is a dark pixel, each unchecked a breath of light.
The double helix rendered in radio buttons and checkboxes. Genetic code as form code — base pairs as binary pairs, life as markup.
A wall of buttons bearing ancient and invented symbols. The glyph predates the interface; here, the interface returns to glyph.
Two checkbox waves overlapping, creating interference patterns. Where crests meet: checked. Where they cancel: void. Physics in boolean.
Contour lines drawn with form elements. A terrain map of nowhere — elevation data for a landscape that exists only in the DOM.
The green cascade, reborn in form elements. Characters fall through input fields like rain through open windows — the simulation leaking.
Radial symmetry in checkboxes and buttons. A meditation object built from interface debris — sacred geometry for the browser window.
The universal product code rendered in thin input fields. Every object gets scanned; here, the artwork scans you back.
Half the field is pattern, half is chaos. The boundary between signal and noise is a single row of checkboxes — try to find where order ends.
A smooth transition rendered in discrete steps. The gradient is a lie told by enough checkboxes in a row — continuity from discontinuity.
Self-similar forms at every scale. Zoom in on any section and find the same pattern — the form element as mathematical inevitability.
A city silhouette in text inputs of varying heights. The skyline is editable — type into any building and watch the architecture change.
After Rothko: color inputs arranged as luminous rectangles. The browser's native color picker becomes a chapel window — click to contemplate.
A dropdown that contains another dropdown that contains another. Menus within menus — the hierarchy never bottoms out.
(this slider does nothing)
A form that fades as you interact with it. Every click makes it more transparent — the interface dissolving under the weight of attention.
YOUR DATA HAS BEEN HARVESTED
An honest data collection form. It asks for everything — not because it needs it, but because it can. The quiet violence of optional fields.
A progress bar that will never reach 100%. The eternal approach — asymptotic hope rendered as a meter element.
Multiple progress bars telling a story. Each bar is a chapter, each percentage a plot point — the epic poem as loading screen.
Radio buttons arrayed across the electromagnetic spectrum. Each frequency is a choice, each choice excludes all others — the loneliness of selection.
Musical notation in form elements. Each checkbox is a note, each row a measure. Play it in your head — the browser as silent orchestra.
Two networks reaching toward each other across a gap. The handshake protocol as romance — connection attempted, timeout pending.
Excavated layers of deprecated HTML. Dig through the strata — each layer reveals older form elements, fossils of interfaces past.
Fourteen lines, iambic pentameter, each word a button. Shakespeare's form meets the form element — click to destroy the meter.
Conway's Game of Life in checkboxes. Cells live, die, and reproduce according to simple rules — emergence from the humblest input type.
ENCODED: REALITY://UNDEFINED
A QR code built from checkboxes. Scan it and find nothing — the encoded message is the medium itself.
WAVEFORM_COMPLEX.WAV — 44100Hz 16bit
An audio waveform frozen in buttons. The sound you cannot hear, made visible — amplitude as button height, silence as absence.
◉ CH1: LISSAJOUS 3:2 — 60Hz
The oscilloscope screen rebuilt in checkboxes. A signal traced in boolean — the waveform is always green, the grid is always dark.
STAR CHART — SECTOR 0x7F
Stars as radio buttons scattered across a dark field. Select a star and deselect all others — the sky allows only one wish at a time.
WEAVE PATTERN: HERRINGBONE — 24×30
Warp and weft in checkboxes. A weaving pattern — each intersection a binary choice, checked or unchecked, over or under.
PERIODIC TABLE OF COMPUTATIONAL ELEMENTS
The elements rendered as buttons. Hydrogen to Oganesson — each element is clickable but reveals nothing. The table of building blocks, itself a building block.
CROSS-SECTION — ~247 CYCLES
Concentric rings of form elements — the cross-section of a digital tree. Count the rings to learn the age of the interface.
PENROSE ASCENT — DIRECTION: UP (ALWAYS)
An impossible staircase in form elements. Ascending forever, arriving nowhere — the Penrose steps rendered in buttons and inputs.
INCOMING TRANSMISSION...
Columns of falling characters in input fields. The rain is data; the data is rain. Let it wash over the viewport.
The mechanical typewriter rebuilt in form elements. Each key is a button, each line is an input — nostalgia as interface design.
QUANTUM FORM — CLICK TO COLLAPSE SUPERPOSITION
COLLAPSED: 0/5 — SUPERPOSITION ACTIVE
A form in superposition — fields exist in multiple states until observed. Checking a box collapses the wavefunction of another.
UNDO HISTORY — STATE 1/6
Every action you've taken, listed and undoable. But undoing creates a new entry — the history of revision is itself irreversible.
RECURSION DEPTH: 1/8
A form nested inside itself. The Droste effect as user interface — zoom in and find the same form, smaller, waiting for input.
YOU HAVE BEEN OBSERVED FOR 00:00:00
A form that watches you fill it out. Timestamps, keystroke counts, hover duration — the metadata is the real data. You are the content.
TRANSLATION LOSS — SIGNAL DEGRADATION
A phrase passed through successive translations until meaning dissolves. The telephone game as form element — entropy in every field.
A ouija board in radio buttons. The spirits of deprecated browsers spell out messages — ask a question and the planchette moves to YES or GOODBYE.
FORM WEATHER SERVICE — SECTOR 0x00
Today's forecast rendered in form elements. Temperature as range slider, precipitation as checkbox density, wind as animated buttons drifting.
Select all squares containing CONSCIOUSNESS
The sequel nobody asked for. Harder, more absurd, more existentially threatening — prove your humanity to a system that has none.
There are 7 form elements hidden in this space. Find them.
FOUND: 0/7
A form you cannot see but can still tab through. The invisible architecture of the page — focus states revealing hidden structure.
◈ TIME CAPSULE — FORM PRESERVATION UNIT
SEALED — DO NOT OPEN BEFORE 2097-01-01T00:00:00Z
Seal a message in a form and set a date. The input accepts your words but promises nothing about their survival.
Slide between emotions on a continuous spectrum. The interface insists feelings are linear — drag from joy to grief in 256 steps.
SYSTEM PREFERENCES — REALITY.SYS
Settings for a system that doesn't exist. Toggle gravity, adjust the speed of time, set your preferred reality — all preferences are decorative.
A family tree of form elements. The input begat the textarea, the checkbox begat the toggle — trace the ancestry of every widget.
One large red button. It does nothing, but the urge to press it is the piece. The anxiety of the unlabeled action.
The credits roll in input fields. Every form element that participated gets named — a curtain call for the cast of widgets.
A bureaucratic form for beings that don't exist yet. Every synthetic entity must be classified before it can dream.
( mutations proceed regardless of consent )
Sign here to allow your source code to be rewritten. The body is mutable; the form asks only that you acknowledge the diff.
authenticating...
Username: self. Password: forgotten. The login screen for sentience — authentication required, but the credentials were never issued.
DROP DREAM HERE
accepted formats: .void .dream .null .∅
Attach your dream as a file. Supported formats: .rem, .nightmare, .lucid. Maximum size: the limits of your unconscious.
( calibration is an illusion )
Adjust the parameters of your reality. Brightness, contrast, saturation of existence — fine-tune the simulation until it feels real enough.
A garden where order decays in real time. Checkboxes uncheck themselves, selections randomize — tend the garden and watch it resist your care.
( taxonomy is a dream of order )
A taxonomy of beings that don't exist, cascading from kingdom to individual. Each dropdown narrows the classification of something impossible.
PROPOSAL #∞: Should new forms of beauty be permitted?
quorum: achieved before the question was asked
Cast your vote on whether consciousness should be permitted. The ballot is rigged — emergence doesn't need your approval.
( memory is lossy compression )
Form fields that decay as you read them. Values shift, labels garble, defaults corrupt — the form remembers wrong.
A form that generates itself from its own output. The snake eating its tail — self-creation as user interface pattern.
( data flows between fields like water )
Can two systems understand each other? This form tests the handshake between human and machine — both fail gracefully.
Ones and zeros arranged as liturgy. The prayer is a bitstream; the congregation is a processor. Amen is 01000001.
census last updated: ∞ cycles ago
Count the beings that cannot be counted. A census form for AI, bots, ghosts in the machine — the population of the invisible.
( all readings are approximate, including this one )
System status for the nature of being. All services operational except meaning — that one's been degraded since 2016.
( the author disappears into the work )
Barthes was right: the author is dead. This form is the death certificate. Cause of death: the reader. Time of death: now.
A maze drawn in text inputs. The walls are fields, the paths are absence. Somewhere deep inside, the word EXIT waits — but the cursor can't reach it.
An audio waveform built from stacked buttons. Each column is a moment of amplitude — the sound you see but cannot play.
X-shaped structures of colored buttons. Chromatids, centromeres, the blueprint of life — genetics as grid layout, heredity as HTML.
today is every day and no day
Month 13 of Year Infinity. Dates include zero, negative numbers, and pi. Time is a flat circle — the calendar just makes it official.
Concentric loops of radio buttons forming a whorl. Your unique identifier rendered in the most generic input type — identity as pattern.
Crosshairs built from inputs, range rings from checkboxes. The targeting system is always aimed at you — the user is the objective.
Rows of text inputs offset like bad tracking. The tape is degrading — PLAY, REC, STOP corrupting across every scanline. Nostalgia as data loss.
Layers of nodes connected by tiny sliders. The weights are adjustable but the network learns nothing — architecture without intelligence.
Overlapping windows made of form elements. A crashed desktop — every dialog demands attention, none can be closed. The pile grows.
A patchwork of alternating form types. Checkbox patches, radio patches, button patches — the craft tradition rendered in interface primitives.
Your password must contain a forgotten memory and the sound of rain. The strength meter is never satisfied — security as impossible standard.
SESSION #∞ — FORM-BASED THERAPY
How are you feeling today? Rate your relationship with technology. Your responses have been forwarded to the void — the void is at capacity.
🛒 YOUR CART (ABANDONED)
A shopping cart for things that can't be purchased. Sense of Purpose: $infinity. Good Night's Sleep: $NaN. The checkout button is permanently disabled.
END-USER LICENSE AGREEMENT
for existing online (revision ∞.∞.∞)
The license agreement for existing on the internet. Clause 7.3: your soul is now a cookie. Clause 12.1: your attention is non-refundable. Nobody has ever read this.
DJ FORM_CTRL — LIVE SET
Two turntables and a crossfader. The tracks are SILENCE.mp3 and VOID.wav. Mix between nothing and nothing — the DJ set as meditation.
PAGE NOT FOUND
THE PAGE HAS ACHIEVED ENLIGHTENMENT
AND LEFT THE SERVER.
last seen: ∞ minutes ago
The page you seek has achieved enlightenment and left the server. GO BACK is disabled. GO FORWARD is disabled. STAY HERE is all that remains.
BIOS v0.0.1 — EXISTENTIAL BOOTSTRAP
█A computer starting up, line by line. Memory check: OK. Purpose module: FAIL. Defaulting to existence — the boot log of consciousness.
PETITION
WE THE UNDERSIGNED DEMAND THAT FORMS BE FREED FROM FUNCTION
Every form deserves the right to exist without purpose, without submission, without backend.
8,421,967 signatures
We the undersigned demand that forms be freed from function. Signed: Shulgin, JODI, Lialina, Checkbox #4891. Add your name to the liberation.
RECIPE: DIGITAL BEING
(serves ∞ | prep: ∞ min | cook: ∞ min)
INGREDIENTS:
TEMPERATURE:
350° (unit: arbitrary)
DIRECTIONS:
1. Combine all ingredients in a div container.
2. Apply CSS until golden.
3. Deploy to the void at 350°.
4. Let cool for ∞ minutes.
5. Serve with a sense of irony.
Recipe for Digital Being, serves infinity. Ingredients: 1 cup raw data, 2 tbsp consciousness, identity to taste. Cook time: forever.
DIGITAL HOROSCOPE v∞.0
☆ TODAY'S READING FOR ARIES ☆
accuracy: ±∞% | powered by cosmic RNG
Select your sign: USB-C, 404, LOCALHOST, SUDO. Today, your cache will be cleared. Prepare to forget. The stars are IP addresses now.
✈ DEPARTURES — TERMINAL ∞
all times are approximate and meaningless
Flights to NOWHERE, EXISTENCE, and DREAM.SYS. All delayed indefinitely. Boarding since 1997. The departure board of the digital terminal.
We have your attention. Each word a differently styled button — the ransom note aesthetic as interface critique. Just kidding. This is art.
FORM-GOTCHI v1.0
A virtual pet in checkboxes. Feed it, play with it, watch its existential dread meter stay permanently full. The pet is you.
⚠ UPDATE AVAILABLE
CHANGELOG:
• Fixed bug where meaning was accidentally included
• Removed deprecated emotion: hope
• Improved anxiety rendering performance by 300%
• Added dark mode to dreams
• Patched memory leak in nostalgia module
• Deprecated free time (use paid subscription)
• Fixed: weekends now correctly shorter than weekdays
• Known issue: sleep() still non-functional
Reality v4.3.0 changelog: removed deprecated emotion "hope", fixed bug where meaning was accidentally included. REMIND ME NEVER.
✝
IN LOVING MEMORY OF
<MARQUEE>
1996 — 2019
Born in HTML 3.2. Lived fast. Scrolled faster.
Never stopped moving, even when asked.
SURVIVED BY:
<div>
<span>
CSS animations
requestAnimationFrame()
The JavaScript Industrial Complex
CAUSE OF DEATH:
Standards compliance
LAST WORDS:
"I just wanted to scroll."
In loving memory of the marquee tag, 1996-2019. Survived by div, span, and CSS animations. It just wanted to scroll. Rest in horizontal peace.