Case Study

The Shelf: A Visual Book Library of 99 Books

Digital book lists are boring. Your physical bookshelf tells a story about you that a Goodreads list never could. The Shelf makes the invisible visible -- turning a physical collection into a digital taste statement.

By Mike Litman • Cultural Capital Labs • 2025-2026
Python pipeline
Phone photography
Auto social cards
Netlify
99
Books
Phone
Photos
Auto
Social Cards
Vibe
Curation

The Problem

A physical bookshelf is one of the most revealing things in a person's home. It tells you what they care about, how they think, what they aspire to. Walk into someone's living room and the bookshelf speaks louder than any LinkedIn profile.

But that bookshelf is invisible online. Goodreads reduces books to star ratings and reading logs. Amazon reduces them to purchase history. No platform captures what a book collection actually says about the person who owns it -- the taste, the patterns, the connections between titles that only make sense when you see them together.

The Approach

The Shelf takes the approach that your book collection is a self-portrait. Not a reading log, not a wishlist, not a rating system -- a curated visual representation of your taste in physical form, made digital.

Phone photo
add-book.py
process-photos.py
enrich-book.py
generate-site.py
Gallery + Social Cards

The workflow starts with a phone photo. Take a picture of the book. Run the Python pipeline. The scripts handle everything else: processing the image, enriching the book data, generating the gallery page, and creating social cards for sharing.

The curation is vibe-based, not alphabetical. Books are grouped by feel and theme, not by author surname or purchase date. The organisation itself is an act of curation -- the connections between titles tell a story that alphabetical sorting never could.

How It Was Built

1
Photography
Photographed 99 books from the physical collection using a phone. No studio setup. No professional lighting. Just honest photos of real books on real shelves.
2
Python Pipeline
Built a four-script Python pipeline: add-book.py (master workflow), process-photos.py (image processing), enrich-book.py (metadata enrichment), generate-site.py (static site generation).
3
Vibe-Based Curation
Categorised books by vibe and theme rather than traditional sorting. Collections and reading paths that connect books by feeling, not by genre. The curation itself is the creative work.
4
Social Cards & Gallery
Auto-generated social sharing cards for every book. Built an editorial-style gallery with Instrument Serif typography, warm amber palette, dark mode support, and responsive design.
Technical Architecture
INPUT PROCESSING GENERATION OUTPUT [Phone Photos] ---> [Python Scripts] -> [Static Site] ----> [Netlify] | | | | 99 books add-book.py Gallery pages thevisibleshelf.com Real covers process-photos.py Social cards Dark mode No studio enrich-book.py Collections Responsive generate-site.py Reading paths

The Result

99
Books
4
Python Scripts
99
Social Cards
Vibe
Curation

The Shelf is a visual library of 99 books on design, culture, strategy, and taste. Each book is photographed from the physical collection, enriched with metadata, and presented in an editorial gallery that feels more like a curated bookshop than a database.

The site uses Instrument Serif typography and a warm amber palette that evokes the feeling of browsing a well-stocked independent bookshop. Collections group books by theme and mood. Reading paths suggest journeys through the collection. Auto-generated social cards make every book shareable.

What makes The Shelf different from any other book list is the collector's eye. These are not recommendations. They are not reviews. They are a window into one person's taste -- 99 books that, taken together, form a self-portrait in print.

The Key Insight

Your bookshelf is a self-portrait. The Shelf makes the invisible visible -- turning a physical collection into a digital taste statement.

The most interesting thing about a bookshelf is not any individual book -- it is the combination. A book about Japanese design next to a book about advertising next to a book about culture theory. The adjacencies are the insight. The pattern across the collection reveals the person.

The Shelf proves that curation is creative work. Selecting 99 books, photographing them, organising them by vibe, and presenting them with care -- that is not a list. That is an act of self-expression. The tool (Python) made it possible. The taste made it meaningful.

Lesson Learned
A book collection is not a list -- it is a self-portrait. The adjacencies between titles reveal taste that no algorithm can replicate. Physical objects made digital with care.
Visit The Shelf Back to All Projects