← Personal projects

A shelf worth
spending time with.

The Library turns the 274 books in my house into something to browse: spines, covers, short stories about each book, and a picture of the collection as a whole.

Explore the live library ↗
Open larger preview ↗
Live project captured October 16, 2026.

Browsing, rather than keeping inventory

I wanted a way to rediscover the books I already own. A shelf holds more than titles: adaptations, connections between writers, and the history around each book. The project started as a single-file page and grew into a more considered editorial experience.

My role and the AI collaboration

I set the brief, chose visual references, and worked through the design and front-end build with Grok Bot as a hands-on AI collaborator. I directed the typography, palette, layout, motion, and feature choices, reviewing each iteration and deciding what to keep.

Finding the visual direction

I explored gradients, a hand-drawn bookshop, and a 3D shelf before settling on a quieter magazine layout. Mid-century paperback design informed the palette; Inter Tight and Inter gave the titles, labels, and charts a consistent voice.

The final system uses paper and ink tones with muted accents. Colour groups the shelves by subject, while numbered sections and a large masthead give the catalogue an editorial rhythm.

Books displayed as coloured spines on The Library’s shelves
Scan the spines, filter the collection, or switch to covers.

Pull a book from the shelf

Books can be searched by title, author, or series, filtered by subject, and arranged by year, author, or title. Opening a book reveals its publication details, adaptations, connections to other books, and controversies. The decade chart also works as a filter.

A book’s editorial detail panel in The Library
Each book opens into its own reading panel.

See the shape of the collection

The “By the numbers” spread uses SVG charts calculated from the catalogue: decades, subjects, authors, languages, fiction and nonfiction, and connections beyond the page. The charts update when the collection changes.

The Library’s charts showing the composition of the book collection
Collection data becomes part of the browsing experience.

Keep it simple to maintain

A small Python build script assembles a static page hosted on Vercel. Open Library supplies covers, and Wikipedia supplies author portraits and descriptions. Results are cached in the browser; typographic covers fill in when a match is unavailable.

Additions and edits are stored in localStorage, with JSON export and import for backup and transfer. They currently belong to that browser rather than syncing across devices. Some automatically matched covers represent a different edition, so pinning an edition and adding cross-device sync are useful next steps.

The site also includes an evening theme, keyboard focus states, and reduced-motion support. It is a small personal tool, with room to keep improving as the collection changes.

Visit The Library ↗