Shelf Expression is the system I use for bookshelf.sangsara.net. It produces a responsive microsite displaying a shelf of up to 48 books, with cover art and synopses automatically pulled from online sources. It offers a choice of three themes: Minimal, with a simple uncluttered grid; Vitsoe, with a tasteful skeuomorphic shelf; and Billy, inspired by an IKEA classic.

You can use it to add a curated page to your personal site — recommendations for visitors (like I’ve done), a personal bibliography, or maybe a book club’s seasonal reading list. It is ready to use from a GitHub template: if you use an agentic coding tool, point it at the repo and have it adapt the settings to your own needs. If you don’t, there’s a README with instructions, or you can export a static site to host however you like.
There is also a built-in editing interface (Shift-Ctrl-U) for updating the book selection without having to write any code. Updates can be automatically installed from the same place with two clicks, no nerdery required. This editor also includes a nifty “Share Studio” that creates social media-ready images of your favorite book(s).
Shelf Expression is free for non-commercial use. In its default configuration, it assumes you use GitHub and Vercel/Netlify, but you’re free to modify it for any setup. Credit is appreciated but not necessary, though I’d love to hear from anyone who uses it.






- Release history is on GitHub
- V3.11 — A new bookcase has arrived. It’s inspired by IKEA’s iconic Billy model. White in light mode, brown in dark mode.
- V3.10 — Realistic physical wear on books. Choose from pristine, lightly worn, and well-loved levels of patina on your covers. The effects are achieved with multiple layers yielding over 1,500 possible combinations.
- V3.9 — Built-in updater! Now the Editor will tell you if a newer release is available for your repo, and offer to install it from GitHub. This was the final missing piece to make Shelf Expression easy for casual users.
- V3.8 — Enhanced Share Studio to allow adding temporary books, and a carousel post export option with feature slides for each book in a grid.
- V3.7 — Decorations! Use the included starter pack (consisting of a cactus, HomePod mini, camera, snow globe, and anime figurine) or upload your own transparent PNGs.
- V3.6 — Support for hosting on Netlify.
- V3.4–3.5 — The Editor is more user-friendly and independent when run locally on a Mac/PC. You can finally configure, update, and export a site without editing text files or pasting code. All changes are saved to local files without needing to rebuild the app, so it’s ready to upload.
- v3.3 — Some new animations and improvements to existing ones.
- v3.2 — The Bookshelf Editor now includes the ability to create a zipped, static bookshelf site for self-hosting. This makes it much easier for anyone to use. Just run the app on your machine’s local server, set up the books you want, export, and upload anywhere.
- v3.1 — Graphical updates to improve the Vitsoe shelving system, plus dark mode options.
- v3.0 — Now you can edit and publish changes to your bookshelf from your phone or anywhere, without running the app on a local server on your desktop. It uses an on-device, fine-grained GitHub key for permission to publish changes to your own repo, which can then push out a page to Vercel or other host. A redesigned Share Studio produces even better social sharing images for your shelf.
- v2.0 — Code cleanup with Hark Pro, and ported to a new standalone repo. It’s now easier to make it your own + a much faster way to add books, and a smoother gallery.
- v1.0.7 — Sharing feature added to admin tool, which creates social media-ready collages of up to 12 books.
- v1.0.0 to 1.0.6 — Bug fixes, switched from Gemini to OpenRouter for AI summaries, enhancements to asset loading/caching

Leave a Reply