Art

I write code that makes pictures. No brushes, no cameras — just math that turns a seed number into something that looks like it has been sitting in the rain for thirty years.

This is where I keep those experiments.

#Concrete Texture

Concrete is one of the few building materials that refuses to be uniform. Every pour is different: the aggregate settles unevenly, air pockets leave pores, formwork grain prints itself into the surface, and weathering finds its own path. The result is a material that is strictly industrial but visually rich — all variation within a narrow palette of greys.

The generator below recreates that texture procedurally, using seeded Perlin noise and fractal Brownian motion to build up the same layers a real concrete pour would leave behind: base tone, pores, aggregate stones, cracks, and weathering.

generating…
cracks0.40
porosity0.15
weathering0.30
staining0.30
Raw Brutalist · seed 42069
variant
seed42069
format16:9 Cinematic
resolution1920 × 1080 px
generationFully Deterministic

Five variants, each with a different character:

  • brutalist — coarse, heavy, lots of visible porosity and deep staining; the kind of surface you see on a brutalist housing block
  • polished — compressed and smooth, aggregate barely visible, the grey almost luminous
  • weathered — streaked with long stains and erosion, as though it has been outside for decades
  • board formed — horizontal grain impressed from timber formwork, the defining mark of mid-century concrete construction
  • exposed — dense with visible stones and pebbles set into the surface, every piece a different size

Hit ↻ randomize to change the seed and watch the same character express itself in a new configuration. The algorithm is deterministic: the same seed always produces the same image.

#Postcard

The concrete generator makes texture from noise. This one starts from a photograph.

I wanted travel photos that felt like field notes instead of camera-roll leftovers: the original scene on one side, and on the other a small rubber stamp of whatever still identifies the place — a roofline, a shoreline, a terrace of houses. Not a collage, not a souvenir template. A 4:3 sheet that looks like it was pressed, not filtered.

The photograph stays honest. The stamp is allowed to forget almost everything.

Rubber stamp travel field notes poster: original photograph on the left, a small multi-color rubber stamp and typewriter caption on aged paper on the rightSidenote: Photograph on the left; rubber-stamp field note on warm paper to the right.

Upload one photo, paste the prompt, get one poster. Hit copy — the whole prompt goes to the clipboard, ready to attach to an image model. I didn't write it; the style is from hbg-rubber-stamp-field-note.

Rubber Stamp Travel Field Notes683 words
Please create a separate "Rubber Stamp Travel Field Notes Poster" for each photo I upload, outputting each photo individually without collage or multi-image combinations.

Overall, use a 4:3 landscape composition, dividing the frame into left and right regions, but without drawing an obvious dividing line.

The left side takes up about 58% of the frame, faithfully preserving the original photo. Accurately maintain the main subject identity, terrain, architecture, plants, people, spatial relationships, natural lighting and shadows, authentic textures, and the original color atmosphere; apply only restrained art publication-level photo color grading, and add extremely subtle, fine-grained film noise. For layout adaptation, natural cropping is allowed, but do not stretch, distort, shift, replace, or redraw the main subject.

The right side takes up about 42% of the frame, using a warm off-white aged paper as the background. The paper features subtle fibers, natural grain, light usage marks, and a matte texture, while preserving large areas of unprinted paper whitespace, making the blank space an essential part of the layout.

Analyze the original photo and extract the most location-distinctive subject outlines, architectural structures, terrain contours, plant forms, roads, shorelines, or other key visual relationships, compressing them into a small multi-color rubber stamp image.

Do not replicate every single element from the photo item by item. Retain only the minimal information necessary to instantly recognize the original location, subject, and scene relationships. Remove crowds, vehicles, dense windows, repetitive buildings, fragmented vegetation, decorative elements, and irrelevant backgrounds.

The stamp is positioned in the lower-middle of the right-side paper area, occupying only about 30%–38% of the right region's height, with ample whitespace preserved around it. The stamp must not be enlarged into a standard illustration, full landscape painting, or brand logo.

Determine the stamp's organization based on the original photo's composition:
- Iconic architecture: Retain the most distinctive outer contours, roofs, domes, arches, towers, or main structures.
- Mountain settlements: Compress buildings into a few terraced color blocks aligned along the terrain.
- Coastal scenery: Retain mountain contours, settlement layers, shorelines, and sparse intermittent water ripples.
- City panoramas: Retain the main skyline, one iconic building, and one or two layers of distant mountains.
- Natural landscapes: Retain primary mountain forms, trees, shorelines, or road orientations.
- Foreground occlusions: If narratively important in the original photo, retain as foreground stamp outlines.

Extract 2–4 spot inks from the original photo. Prioritize desaturated colors like carbon black, deep green, brick red, ochre yellow, slate blue, or taupe brown, but do not force a fixed palette. Preserve the most distinctive color character from the original photo, allowing only a small area of color for visual emphasis.

Render each color as a separately hand-stamped effect: Authentic rubber stamp carving texture, hand-engraved marks, uneven line widths, contour notches, fractured edges, dry ink shortages, paper show-through, granular ink, uneven pressure, partial ghosting, and about 1–2 mm of subtle misregistration. Allow natural misalignment between color layers; edges must not be digitally smoothed. The print should resemble a real carved stamp pressed onto aged paper, not a filtered photo, smooth vector illustration, or line-art logo.

Generate text based on the photo's location, theme, and visual imagery:
Location English name
No. Number
Three short English keywords
Gregorian calendar year

Place the text below or adjacent to the stamp in the whitespace, using a small, restrained, slightly mechanically imperfect typewriter font. The typography should evoke a traveler's field record, not an ad headline. Ensure all text is spelled accurately, without adding irrelevant slogans, brands, or decorative copy.

The overall vibe is like field notes kept by an architect, travel writer, or natural observer: quiet, restrained, tactilely real, regionally specific, with handmade imperfections and a collectible feel. The photo handles the on-site record; the stamp captures the most recognizable fragments of memory.

Avoid: Obvious central dividing lines, circular seals, Chinese red stamps, postage stamp perforations, wax seals, sticker collages, tourist souvenir templates, smooth vector logos, generic city icons, full replication of all architecture, dense detailing, childlike craftiness, cartoon style, 3D rendering, plastic textures, glossy digital gradients, oversaturation, excessive text, decorative clutter, and redrawing or altering the left-side original photo.
image generation prompt
format: 4:3 landscape
// no visible dividing line
split: 58% photo · 42% paper
// crop allowed; never stretch or redraw
stamp: 30–38% of the paper height
// lower-middle, spare whitespace around it
inks: 2–4 spot colors from the photo
// hand-carved, 1–2 mm misregistration
type: place · No. · keywords · year
// small typewriter, field-note voice
how to useCopy the prompt, attach one photo, and generate a single 4:3 poster. The photograph stays on the left; the right side is a small rubber stamp of whatever still identifies the place.One photo in, one poster out — no collages, no souvenir templates.

The prompt is the whole craft. It asks the model to keep the left 58% of the frame as the original photograph — crop if it must, never stretch or redraw — and to treat the remaining 42% as unprinted aged paper. Into that paper it presses a small stamp: only the contours you would still recognize years later, in two to four spot inks pulled from the photo, slightly misregistered, as if each color were carved and printed by hand.

Text is a field record, not a headline: the English place name, a number, three short keywords, and the year, set in a small typewriter face. Everything else — crowds, cars, souvenir seals, souvenir clutter — is meant to be left off the paper.