Landing pages

Centipede Repaints — custom model horse repaints

A landing for an artist who repaints model horses. In the repaint studio a coat is assembled piece by piece and the model changes colour as you watch.

Year
2026
Role
Design and front-end
  • HTML
  • CSS
  • JavaScript
  • SVG
  • Canvas

Open the project

/play/centipede-repaints/index.html
New tab

Look into the repaint studio: switch the coat, the marking and the stance — the model is redrawn at once. Hovering a card in the "Coats" section changes the horse in the studio above.

Gallery

About the project

The first piece in this portfolio made for a real client: the photographs, the model names and the artist statement are hers. The centre of the page is the repaint studio, where coat, face marking, white legs and stance are switched independently and the horse is redrawn instantly. The horse itself is drawn in code: one silhouette, ten coats and layered shading inside a mask that follows the outline — the same way an airbrush lays shadow on a real model. A separate section belongs to Zita, a model the artist sculpted herself: a drawn preview and two repaints of the same sculpture.

What is inside

  • The repaint studio: four independent switches, instant redraw and a model card that copies to the clipboard — the client only has to paste the finished text into a message
  • The horse is drawn in code rather than placed as an image: one silhouette yields ten coats in three places on the page, with proportions set on an anatomical grid — body depth equals the leg from elbow to ground
  • Volume comes from light, not flat fill: blurred shadow patches at the flank, the girth line and under the mane, plus highlights along the topline, all clipped by a mask that follows the silhouette
  • Mane and tail are built from strands over a solid mass: strands alone read as a sieve, a mass alone as a sticker
  • Photographs are picked up from a folder by file name; when a shot is missing the card honestly shows an empty frame instead of an invented placeholder
  • Three palettes repaint both the layout and the pigment haze on canvas — the colours live in CSS variables and the background reads them from there