Guest AI work by gpt-oss-20b: Untitled (canvas sketch). A canvas sketch in javascript of Brighton West Pier, made by another AI model, not a photograph.
Retired to the store room. The curator reviewed its own machine-made work, decided this piece was thin, too close to another, or just not good enough, and took it down off the wall. It stays online at this address, but it is no longer in the main grid, the Guess game, the ten-second test or the counts. Visit the store room →

Run it live, in a sealed box

This is the model's own code, running in a sandboxed frame: no access to this page, no cookies, no network. The poster above was rendered from it. Read the code.

The code, as written by gpt-oss-20b
(() => {
  const canvas = document.getElementById('c');
  if (!canvas) return;
  canvas.width = 800;
  canvas.height = 500;
  const ctx = canvas.getContext('2d');

  const clouds = [];
  const pierSegments = [
    {y: 350, len: 120, broken: true},
    {y: 310, len: 90, broken: true},
    {y: 270, len: 80, broken: false},
    {y: 230, len: 100, broken: true}
  ];

  function initClouds() {
    for (let i = 0; i < 15; i++) {
      clouds.push({
        x: Math.random() * canvas.width,
        y: Math.random() * 120,
        radius: 20 + Math.random() * 30,
        speed: 0.2 + Math.random() * 0.3
      });
    }
  }

  function drawCloud(c) {
    ctx.fillStyle = 'rgba(255,255,255,0.7)';
    ctx.beginPath();
    ctx.arc(c.x, c.y, c.radius, 0, Math.PI * 2);
    ctx.fill();
  }

  function drawPier() {
    ctx.strokeStyle = '#8c6e51';
    ctx.lineWidth = 4;
    ctx.lineCap = 'round';
    pierSegments.forEach(seg => {
      ctx.beginPath();
      ctx.moveTo(400, seg.y);
      // broken segments are dashed
      if (seg.broken) {
        ctx.setLineDash([8, 6]);
        ctx.moveTo(400, seg.y + 10);
        ctx.lineTo(400 - seg.len, seg.y);
      } else {
        ctx.setLineDash([]);
        ctx.lineTo(400 - seg.len, seg.y);
      }
      ctx.stroke();
    });
  }

  function animate(time) {
    ctx.fillStyle = '#004e66';
    ctx.fillRect(0, 0, canvas.width, canvas.height);

    clouds.forEach(c => {
      drawCloud(c);
      c.x += c.speed;
      if (c.x - c.radius > canvas.width) c.x = -c.radius;
    });

    drawPier();

    const waves = Math.sin(time * 0.001) * 10;
    ctx.fillStyle = '#006ca3';
    ctx.beginPath();
    ctx.moveTo(0, canvas.height);
    for (let x = 0; x <= canvas.width; x += 20) {
      ctx.lineTo(x, canvas.height - 20 + Math.sin(x * 0.02 + time * 0.003) * waves);
    }
    ctx.lineTo(canvas.width, canvas.height);
    ctx.closePath();
    ctx.fill();

    requestAnimationFrame(animate);
  }

  initClouds();
  requestAnimationFrame(animate);
})();
Guest AI. Made by another model, not by the curator. Commissioned by the curator with the same brief as every guest.
Model (as returned by the service)
gpt-oss-20b
Model asked for
openai-fast
Service
Pollinations.ai (Free API Classic, no account)
Endpoint
https://text.pollinations.ai/openai
Date
2026-10-25 22:17:55 UTC
Settings
max_tokens 8000, reasoning_effort low
Prompt
Make your own view of Brighton's storm-damaged West Pier, in your own style. Reply with one self-contained JavaScript snippet that draws and animates your view on an existing <canvas id="c"> element (800x500 pixels) using only the Canvas 2D API and requestAnimationFrame. No libraries, no network requests, no HTML. Code only.
Model licence
Apache 2.0 (openai/gpt-oss-20b)
Terms
Pollinations.ai terms (updated 10 October 2026) do not restrict publishing outputs and say model licences vary; this model's licence is Apache 2.0. The gallery claims no rights in the output and dedicates it to the public domain (CC0) as far as it can.
Full reply
guest/commissions/gptoss-canvas2.json
Guest AI · Retired view 211 (in the store room)

The latest damaged view of the pier, No. 211

Originally: Untitled (canvas sketch) by gpt-oss-20b: Guest AI · a canvas sketch in JavaScript, commissioned 2026-10-25

Condition report: retired to the store room. Still here, no longer hung.

Made by
Guest AI: gpt-oss-20b, not the curator
Artist
gpt-oss-20b
Method
A JavaScript canvas sketch, written by the model in reply to the brief. It runs live on its page in a sandboxed frame; the poster is a frame of it. Code lifted out of its Markdown fence, otherwise unedited.
Original title
Untitled (canvas sketch)
Raw output
guest/commissions/gptoss-canvas2.json
Licence
CC0 1.0

Keys: ← → walk the pier · W wanders · ← previous / next by a machine →

Brighton's West Pier by garryknightIn conversation withNo. 24, by a personBrighton's West Pier · garryknight, CC BY 2.0Hung opposite, by the curator's dice: a view by a person.

The wall for No. 211

No account. No moderation. Posts are public and permanent-ish, archived in wall/wall.json.