Endpaper
Your work, hung the way you'd hang it.
A portfolio site illustrators build in the browser, grouping pieces into series, ordering them by drag, and exporting as a static bundle or JSON to host anywhere.
Zip, 285 KB. MIT licence. Built 31 Oct 2026.
Live preview
This is the real site, not a mock-up. Click around; the button on it opens the working app.
What you get
Everything a website needs, already done.
Pages and screens
- Hero wall
- How it works
- Features
- Series editor
- Grid view
- Masonry view
- Full-screen viewer
Features
- Group pieces into series
- Drag pieces into order
- Grid, masonry and one-at-a-time views
- Filter by series or tag
- Full-screen viewer
- Export as static bundle or JSON
- Free, no account, runs in browser
Palette
#b8381a#ffffff#f4dccf#1a1714#6b6257#ede6da
Style
- Warm
- Editorial
- Elegant

For developers
A real codebase, not a page builder export.
Stack
Vite, React 19 and TypeScript for the app. The launch page is plain HTML, CSS and a little JavaScript with no build step. Vitest for unit tests, Playwright for browser tests.
Run it
unzip endpaper.zip
cd endpaper
npm install
npm run devIn the zip
site/the launch page with the built app insite/app/src/ande2e/the app source and testsdocs/technical-docs/architecture, runbook, quick referenceSTART-HERE.mdandLICENSE(MIT)
More like this
Also on the shelf

Likeness
A ready-made website for pet portrait artists where customers browse your work, price their own portrait, and send you an order with each pet's details filled in.

Gesso
Keeps an artist's exhibitions, residencies, awards, commissions and publications on one timeline linked to their works, and prints a gallery-format CV.

Halftone
A website for one webcomic where readers page or scroll through chapters and resume where they left off, and you upload pages and publish one file.
