Self-initiated2026

Readshift

For this project I designed and built Readshift, a web app that turns your bookshelves into something that grows. There’s nothing to install, you take a photo of your shelves on your phone, screenshot your Kindle or Audible library, import a CSV from Goodreads or StoryGraph, or just search for a book or scan its barcode, and it grows your library into a living map. Every square cell is fourteen pages, every shape is a book and every colour is a genre, and it all sits on a soft star map in either a Dark or a Light theme. You can group the same books by author, decade, spine colour or shelf and the whole culture regrows in front of you, and hovering over a book shows you what it connects to.

Every library grows its own poster. Hit ‘Regrow’ and the same books settle into a completely new organism, branching like a tree, spreading like lichen, banding like agate or laid out as a single unbroken line, and there are six growths to pick from now.

Your library stays yours, but if you want you can add it to the ‘universe’, one shared map where every library is a cluster under a made-up codename, placed by taste among everyone else’s. There are nine libraries in there so far, 1,074 books between them, you can hop into anyone’s library and wander round it, and as it fills up, neighbours with the same taste get bounded into named sectors. Any library can be exported as a poster or a story, or printed and framed.

Once I’d used the first version for a while I went back through the whole thing for legibility, getting every line of text above 4.5:1 contrast, then built a sandbox alongside the app to try out new ways of growing a library. Sixteen growth styles went in over eighteen versions and four made the cut, with Coral and Budding joining later to make six. The posters now come in four fits too (Curve, Strata, Chromatic and Bookcase), and a second sandbox gave the whole thing the softer look it has now, with Dark and Light themes and a rebuilt universe.

I handled the concept, visual design, interface and build. It’s Canvas 2D and TypeScript in the browser with Node behind it, a vision model reading the spines and Open Library for the book data, all set in Schibsted Grotesk. Near the end there’s a look at where it started, including a TouchDesigner experiment that really didn’t work. The main library you’re looking at is my own, 324 books and counting, and the poster gallery is grown from other readers’ libraries in the universe as well as mine.

The whole library grown as Branching in the Soft look, filling the frame, with the readshift wordmark.
What Readshift is, with the library's counts: 324 books, 111,339 pages.
Dark and Light themes on a laptop and a phone.
A book selected, with straight lines to books by the same author and books that share a subject.
The same books grouped by author, decade, spine colour and format.
Five ways to bring a library in: a shelf photo, Kindle and Audible screenshots, a CSV import, or search and barcode.
Visiting another reader's library with the Nearby clusters menu open.
The universe now: nine libraries placed by taste, with the arrival cards.
Illustration: how named sectors form as the universe fills.
A Branching poster on dark paper, with its tree lines.
An Agate close-up poster on white with a border.
A Lichen poster on white, full bleed.
A poster in the Strata fit on dark paper.
A landscape poster in the Chromatic fit.
A landscape Lichen poster on white with the library's numbers.
Illustration, to show scale: a print in a living room.
Illustration, to show scale: a print in a bedroom.
The first version: one growth, a glass plate with haze and scanlines.
A review for legibility: secondary text raised from 2.85:1 to above 4.5:1.
The sandbox beside the app: eighteen versions, sixteen growth styles tried.
How it grows: six growths and four poster fits.
A refined screen style, before and after.
Starting in TouchDesigner: a volumetric gas nebula that never became readable.
First directions sketched in the browser.
The petri turn: from a nebula to a dish of cells.
Growths that didn't make it.
Credits: design and build, stack and type.
Next

Intech Grid 2025

Content