Inspiration

Most AI image tools are solitary and disposable: one person prompts, receives an output, and replaces what came before. I wanted image generation to feel more like a public mural—many people contributing at once, with every change remembered.

What it does

Palimpsest is one shared, continuously evolving AI artwork. A contributor can place a free-position patch anywhere on the canvas, paint the exact area that may change, optionally attach a reference image, and describe the edit.

Multiple people can work in parallel. Only regions currently being generated are locked; every non-overlapping area remains available. Accepted changes become immutable revisions that anyone can scrub, play, compare, share, or restore. Restoring an earlier look creates a new revision instead of erasing history.

How I built it

Palimpsest is a TypeScript and React application running on Cloudflare. D1 stores authoritative revision, job, and spatial-reservation metadata, while R2 stores image assets.

Each contribution is moderated, then GPT-5.6 turns the original request into a concise, intent-preserving visual plan. GPT Image applies that plan only inside the user's painted mask. The original human prompt remains the public history entry.

Collaboration uses global canvas coordinates and atomic spatial reservations. Overlapping work is rejected, edge contact remains available, leases expire safely, and a short fenced commit step keeps the visible revision history linear even when generations run concurrently.

Codex was our development partner across product definition, implementation, race-condition review, regression testing, responsive UX, and production verification.

Challenges

The hardest problem was allowing genuinely parallel creation without corrupting a single canonical canvas. I had to handle overlapping requests, expired leases, retries, stale base revisions, and generations finishing out of order.

Another challenge was making precision understandable. I iterated on free-position patch placement, mask painting, live reservation outlines, panning, zooming, narrow-screen navigation, and the draggable timeline so the collaboration model is visible rather than hidden.

Accomplishments

  • Free-position masked edits that can cross former grid boundaries
  • Atomic locks that block only active overlapping regions
  • Parallel non-overlapping AI generations
  • Immutable, playable, restorable visual history
  • Optional image references
  • GPT-5.6 planning plus GPT Image masked rendering
  • Responsive pan, zoom, keyboard, timeline, compare, and queue interactions
  • Production deployment with focused race and interaction tests

What I learned

A collaborative generative surface needs more than real-time presence. It needs clear spatial ownership, recoverable leases, deterministic commit rules, and an interface that explains those constraints at the moment they matter.

I also learned that AI can improve coherence without taking authorship away from the contributor: GPT-5.6 plans only what the person asked for, while the original request stays attached to the revision.

What's next

Next I would add richer live presence and attribution, community moderation tools, larger-canvas performance work, curated public galleries, and reusable collaborative canvases for classrooms, teams, and public-art events.

Built With

Share this project:

Updates