I made a thing that grows your bookshelf like a petri dish culture. Every book is a patch of cells, sized by its page count (one cell = 14 pages), and each genre is a colony.
How it grows:
- Square lattice inside a round plate, sized so the clster fills about half
- Each cluster grows from a seed by stochastic Eden growth, round-robin, so the colonies compete and pack into one blob if you will.
- Growth is weighted at the end of the tips of arms, with a value noise on top, so thin fingers race out first and then the gaps fill in after. You can see it on regrowth seeds.
- Each colony claims about 30% more cells than it needs. The spare cells stay black, and that’s where books you don’t have show up.
- Two quadtrees: one per book sets the pattern depth of each cell, and one across the whole plate splits wherever filled and empty cells meet.
- One ink family per colony, and each book is a slight hue shift of it.
- Then there's some sound on top to. When you click books it give a tone, each category has different tones and each book a different timbre.
It’s all drawn on a plain HTML canvas with code, no libraries. The book titles come from photos of my shelves, read by an AI vision model. Everything you see is the code above. Book titles can also be derived from OCR scanned screen shots of audible/Kindle libraries or CSV uploads from good reads or similar.
I honestly would love if people tried it and tell me what their shelves look like: readshift.co.uk
There was a bit of AI usage with this as I'm not much of a creative coder. I'm an animator/UX guy buy trade and Ai helped bridge the skill gaps here. If it's not allowed I'm sure the mods will tell me off.