Shelf Expression

Find it on GitHub


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.

Detail view: Navigate books with buttons, arrow keys, or swipes.
Editor: Easily update your shelf through an integrated admin panel.
Share Studio: Make Instagram-ready images of your books

  • 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

Discover more from sangsara.net

Subscribe to get the latest posts sent to your email.

Comments

3 responses to “Shelf Expression”

  1. […] also decided to revisit my Shelf Expression project and changed up the approach so that all assets like book covers are fetched and cached just […]

  2. […] 24/10/26: V3. Rebuilt with Hark, leveraging Shelf Expression’s Share Studio. Way more reliable and accurate. New “Fit to grid” mode, text tool, and […]

  3. […] maybe the biggest glow-up was given to Shelf Expression, the software that powers my Bookshelf page on this site. On the frontend, new shelves have been […]

Leave a Reply

Discover more from sangsara.net

Subscribe now to keep reading and get access to the full archive.

Continue reading