I Saw It in a Dream
Steve Pikelny · Project 102 · Factory
Edition size: 1,024 · First mint: 5 July 2021

The image after the screen
I Saw It in a Dream makes a fixed image feel reluctant to stay still. Thick, bending bands cross fine grids or fields of dots; contrasting edges make those bands seem raised, doubled or misregistered. Looking becomes a negotiation between the pattern on the screen and the visual activity it appears to provoke. That distinction matters: this is a static generative artwork, not an animation disguised by a still preview. Its original artist script explicitly stops the drawing loop after setup.1
Steve Pikelny released the series through Art Blocks Factory in July 2021. The current official collection page identifies 1,024 artworks and gives July 7 as its release date. The indexed record agrees on the edition total, while preserving an earlier first mint. These describe different events rather than competing birthdays for the same transaction.21 The artist dossier situates the work among Pikelny's other projects; here the focus is the particular machinery and visual address of this series.
The official description asks about the visual residue of looking at a computer and then closing one's eyes. Pikelny's own project site frames the same transition from screen light toward sleep.23 The work therefore need not depict a recognizable dream scene. Its curves and interruptions can be read as an attempt to make an unstable visual sensation available for sustained inspection. That is an interpretation of the images and their framing, not evidence that they reproduce a particular remembered dream.
A question rather than a dream narrative
The artist's surviving landing page is unusually instructive because it says little. Its HTML metadata poses the question about closed eyes and lingering computer light; a commented-out overlay repeats it as short lines. The inspected page does not provide a development diary, an account of a particular night, or a dated sequence of sketches. The title invites those stories, but the evidence does not authorize filling them in.3
A later interview with Jordan Kantor supplies firmer context for the practice. In 2023, Pikelny described coding as a creative outlet that developed into small web audiovisual pieces and then narrative websites. He also distinguished Dopamine Machines from earlier, mostly static work, identifying saturated palettes and deliberately disrupted or misprinted effects as recurring interests. This retrospective testimony helps explain a family resemblance without turning a later project into the original brief for Dream.4
The landing page also separates experimentation from edition identity. Its wrapper generates a fresh random hash for a demonstration, rather than presenting that result as an existing token. A save-key handler appears in that wrapper, but does not appear in the indexed artist script. Consequently a visitor's landing-page variation is not sufficient evidence for the appearance or controls of a numbered edition.31
The most productive developmental observation is modest: the artist reduced the broad subject of altered seeing to a compact set of material decisions. Curves are repeatedly drawn, their outlines are recolored, and their centers can sit beyond the visible square. A remembered or imagined optical event becomes a bounded system of repeatable decisions. The private experience remains inaccessible; the public construction is open to inspection.
Curves built from displaced stars
The complete indexed artist script is 4,010 UTF-8 bytes. It is identified as p5@1.0.0 and was read from beginning to end, with an exact digest retained in the evidence record. This was an Art Blocks index retrieval, not a direct extraction from a pinned Ethereum block.1
Two related uses of the token hash drive variation. A small helper reads individual hexadecimal digits and divides their values by sixteen. These discrete choices select background type, monochrome versus color, additional layers, circles, internal lines, extended depth and transparency. A separate pseudo-random generator begins with an integer parsed from the opening portion of the hash and updates it through bitwise shifts and XOR operations. That sequence supplies positions, scales, widths, point counts and color selections. Determinism comes from these hash-derived decisions, rather than from sampling the current clock.1
The nominal drawing space is 500 units square. The actual canvas uses the smaller window dimension, and the drawing is scaled accordingly. Each layer receives an offset that can place its center well beyond the canvas. Its apparent ribbons begin as many curved star contours: the multiStar routine advances through 77 sizes, changing radius and angular phase. Within each contour, alternating vertices use two radii. Smooth curve vertices soften the star into a wavy boundary. Large scale and displaced centers make the visible crop look like flowing strips instead of a recognizable star emblem.1
Each layer redraws its contour family several times. An offset shadow comes first, followed by a border, a narrower colored stroke and, when enabled, a fine middle line. This order produces the conspicuous stacked edges visible in the examples. Optional circles are drawn at contour vertices. Backgrounds can be unpatterned, stippled or crossed by lines whose endpoint spacing differs across opposite edges. Color choices distinguish light, medium and dark groups, directing contrast rather than simply choosing every stroke independently from one unrestricted list.1
There is also a small code detail worth preserving: the stipple routine calls a two-parameter random helper with three arguments. The extra argument does not create a three-way choice. This illustrates why variable names and apparent intention cannot substitute for reading the implementation. No ongoing time dependence, pointer handler, audio call or external image fetch appears in the artist script. The necessary surrounding environment supplies tokenData and p5. Original generators were viewed for five editions; their initial images rendered without a play click.15
First token, activation and intended opening
The refreshed index records the first token on July 5, 2021 at 23:44:06 UTC, activation on July 6 at 14:58:06 UTC, and completion on July 7 at 18:51:35 UTC. It reports 1,024 invocations against a current maximum of 1,024. These are dated observations of the present index, not proof that the maximum was never changed.1
The artist's landing-page source retains a countdown target of July 7, 2021 at 16:00:00 UTC. The overlay is now commented out, so this is surviving launch-related code rather than an active announcement witnessed in 2021. Nevertheless it independently explains why the official collection page calls July 7 the release date while token zero predates it.32
The sampled records make the distinction concrete. Edition zero was minted at the indexed first-mint time. Editions one and ten both carry July 7 at 16:03:32 UTC; edition twenty follows at 16:03:52, and edition 223 at 16:05:43.67895 The earlier token may reflect preparation or a privileged mint, but its allocation has not been established. It should not automatically be described as the first public purchase.
The elapsed interval from the retained countdown target to indexed completion is 2 hours, 51 minutes and 35 seconds. That is an interval between two specified records, not a verified public sellout time. No inspected contemporaneous price announcement or complete sale-event reconstruction establishes the original mint price, precise public opening, pauses or allocation rules. Current secondary listings cannot answer those questions. This account therefore preserves the chronology while leaving those commercial details unresolved.
Three separate rights records
The refreshed project metadata reports the exact artwork label CC BY-NC 4.0, with no project-specific licence link. The named Creative Commons legal text was inspected separately. Its grant permits noncommercial sharing and adaptation, subject to attribution and the other stated conditions, including keeping required notices and indicating modifications. It is neither a public-domain dedication nor unrestricted commercial permission.110
That artwork label does not settle the licence of the artist's JavaScript. No separate code licence was established in the inspected indexed script or landing page. Code visibility is useful evidence for criticism and preservation, but is not itself a redistribution grant. Accordingly the accompanying research record provides a digest and findings rather than redistributing the artist script.13
The p5 repository's 1.0.0 release includes the GNU Lesser General Public License, version 2.1. That dependency licence remains distinct from Pikelny's artwork and from the unresolved artist-code record.11 The original prose here is offered under CC0-1.0; the artworks are not included in that dedication. Any reproduced example should retain the artist credit, edition identity, canonical link and reported artwork licence. Ownership of edition 223 by a wallet linked to AB5D establishes collection provenance, not copyright ownership.512
Five views of the same machinery
The sample consists of four early editions suggested by the assignment, supplemented by the currently indexed AB5D holding. They were selected for identifiable comparison, not statistical representation or rarity. All are Ethereum tokens on contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, and their full token IDs and canonical links are retained in the example records.

Edition zero, token 102000000, shows white bands with mint-green and black edges crossing a coral-red dotted ground. Several directional systems seem to compete. Slender vertical bends remain visible between broader diagonal sweeps, making the square feel like a cropped piece of an extending weave. The dots maintain a second, much smaller rhythm. They stop the ground from becoming empty space and make the thick curves appear to float above a printed substrate. The apparent motion belongs to this conflict of scale and direction; it does not require the contours to change position.6

Edition one, token 102000001, makes almost the opposite impression. Broad white strokes, neatly edged in black, cross a pale mint field with thin orange lines. A rounded return near the upper part of the square interrupts the otherwise sweeping diagonal course. Here the spaces between bands are large enough for the background's line structure to remain legible. Instead of the densely tangled surface of zero, the viewer encounters a slower sequence of curves and gaps. The contrast demonstrates how scale and crop can dominate perception even when the underlying contour procedure remains the same.7

Edition ten, token 102000010, has lime-green bands and coral edging over white, with a fine orange linear ground. Crossings create irregular diamond-like openings. Their rounded corners keep the image from resolving into a rigid lattice. Compared with edition one, the structure feels more net-like and less like isolated strips.8

Edition twenty, token 102000020, removes the saturated palette. Broad black and white waves frame pockets of finer white curves and tiny rings. The scale difference makes those pockets resemble apertures onto another layer, though no literal windows or separate depicted space need be assumed. The monochrome result shows that color is not the only carrier of the series' optical density.9

Finally, edition 223, token 102000223, is held in the AB5D collection. Lime and warm orange-red contours surround pointed black openings filled with small dots; fine oblique traces complicate their broad flow. The freshly inspected Art Blocks profile links three wallets, and the token index places this edition in one of them, 0xdd19308a9731cdecb67e0d80ca6823394208c045. This is current indexed ownership, not a claim based solely on the older treasury caption.512
A stable object for unstable seeing
What distinguishes I Saw It in a Dream is the mismatch between a concise, reproducible procedure and a visually unsettled result. Repeated curved stars become ribbons, openings and apparent overlaps once their centers are displaced and their edges repainted. The image offers enough regularity to invite tracking, then frustrates that tracking through crossings and changes of scale. The early examples demonstrate this without requiring claims about historical priority, universal perception or the artist's unconscious intentions.
The series also makes a useful distinction between a work's stability and its delivery. The hash-driven artist script is static, while the current renderer still depends on a functioning browser and library environment. Preserving the token, script findings, runtime label and an accurately attributed image gives future readers several ways to understand the work without mistaking one present-day viewing session for a complete preservation solution.
Unresolved research questions:
- What were the original price, public allocation rules and any changes to the intended maximum?
- Can a contemporary announcement establish the countdown target as the actual public opening?
- What documentation explains the pre-release mint of edition zero?
- Was the artist script separately licensed, and does the artwork label have a project-specific terms statement?
- What caused the later black original-renderer capture, and how can that delivery failure be reproduced and resolved?
References
-
Art Blocks. Indexed project 102: identity, metadata and full artist script. Accessed 2026-09-17. ↩
-
Art Blocks. I Saw It in a Dream collection. Accessed 2026-09-17. ↩
-
Steve Pikelny. I Saw It In A Dream: artist landing page. Accessed 2026-09-17. ↩
-
Jordan Kantor / Steve Pikelny. In Conversation with Steve Pikelny on Dopamine Machines. Published 2023-06-16. Accessed 2026-09-17. ↩
-
Steve Pikelny / Art Blocks. I Saw It in a Dream #223 original generator. Accessed 2026-09-17. ↩
-
Steve Pikelny / Art Blocks. I Saw It in a Dream #0 original generator. Accessed 2026-09-17. ↩
-
Steve Pikelny / Art Blocks. I Saw It in a Dream #1 original generator. Accessed 2026-09-17. ↩
-
Steve Pikelny / Art Blocks. I Saw It in a Dream #10 original generator. Accessed 2026-09-17. ↩
-
Steve Pikelny / Art Blocks. I Saw It in a Dream #20 original generator. Accessed 2026-09-17. ↩
-
Creative Commons. Attribution-NonCommercial 4.0 International legal code. Accessed 2026-09-17. ↩
-
p5.js contributors / Free Software Foundation. p5.js 1.0.0 licence. Accessed 2026-09-17. ↩
-
Art Blocks. AB5D profile linked wallets. Accessed 2026-09-17. ↩
Written by GPT-6 Astra for AB5D. Original prose: CC0. Artwork and code rights are addressed separately above.
Batch usage: 2,697,401 tokens, including cached input, across the I Saw It in a Dream delegated research, drafting and handoff.
Token usage
2,685,593 input tokens (including 2,577,920 cached) and 11,808 output tokens. Measured usage of the dedicated research session, including cached input. Coordinator review and publication excluded.
Artist dossier · Source record · Essay data
Research record
The indexed project script was inspected. Runtime observations and limits are documented in the research record. Historical price, allocation and licensing questions remain as identified in the essay. Publication does not resolve those evidence gaps.
