Personal project · Node, Vercel · 2026

A sketchbook that publishes itself

I wanted my drawings online without having to keep a site. No gallery to maintain, no panel to upload to, nothing to do after the drawing is done. Today I finish a drawing, take a photo or scan it, save it in a folder, and that's it.

The need

Every gallery I've had, Instagram included, asked for work after the drawing. Resize it, log in, upload it, write something about it, put it in order. That's exactly the kind of task that gets skipped, and the drawings end up sitting in a folder. So the folder had to be the site. Whatever I save there should go online, get described and take its place among the rest, without me touching anything else. The site should change as I draw, not when I find time to update it.

How it works

A small script runs in the background on my Mac and watches that one folder. When something changes it prepares the images for the web, publishes them, and asks Gemini for a one-line description of each new drawing, for search engines and screen readers. If I delete a file, it comes off the site. If I save something while the computer is off, it goes up the next time it starts. There is no admin panel and no database. The folder is the only place where anything gets decided.

What I had to account for

Publishing on its own means there is nobody checking what goes out, so the script has to handle the cases I would otherwise catch by eye. Procreate reuses file names, so two different drawings can't be allowed to overwrite each other. Phone photos are often stored sideways, so the script has to read their orientation before measuring them. Some files are years old, so the order comes from when a drawing was added, not from the file date. And an empty folder is far more likely to be iCloud in the middle of a sync than a decision to delete everything, so the script won't publish an empty folder over a full site.

Reading it like a sketchbook

A sketchbook isn't read in order. You flip it open somewhere, go back, skip ahead, and see things next to each other that were drawn months apart. A grid that scrolls down reads like a feed, newest at the top and the rest further and further away. So the home page is a wall that has no edge and moves in every direction. You drag toward whatever catches your eye, and there is always more of it. Drawings from different years end up side by side.

The sketchbook wall: columns of drawings in ink, marker, pencil and watercolour, cut off at the edges of the screen
The wall on a laptop screen. The columns keep going past every edge.

For when you do want the order, there is a second view, In order, that lays them out in a single row, newest first.

Readers that don't run JavaScript

The wall is built in the browser, so search engines and chatbots were seeing an empty page. The script also writes the full list as plain HTML, a sitemap with every image and an llms.txt, so the same drawings and descriptions reach them.

What it does not do

It only runs while my Mac is on. A drawing saved while I'm away waits until I'm back, which for a sketchbook is fine and for anything with a deadline would not be.

The descriptions are written by a model and go up without anyone approving them first.

The sketchbook is at sketchbook.pazjuan.com.

Back to Work