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.


























