Building
My Library Has a Genie in It

On this page
There is a brass lamp on the table in Alvin's Library. Tap it three times and a keeper appears. You can ask him for a book, choose one of his suggestions, and walk over to its shelf.
Three taps on a lamp to find something to read. I am very happy that this is a thing I get to put on the internet.
The library is a round room full of books, with tall windows, rolling ladders and a chart table in the middle. You can wander around, pull a book from a shelf, or change the time of day because you feel like seeing the place in a different light.
I built it with the help of AI coding agents, and a lot of the fun was in deciding what sort of place it should be. How should a book come off a shelf? What belongs on the table? What would it feel like to be here after dark?
Those questions can keep a project pleasantly busy.
Give the books a room
I wanted a library you could walk into. Somewhere the books had neighbours, and you could turn towards a shelf without already knowing what you were looking for.
The room holds 628 books across ten bookcases. There are shelves for design, product, decisions, self-help and other subjects that sit alongside each other in the collection. You can arrive with a title in mind, or just pick a direction and see what catches your eye.
Choosing a book has a little ceremony to it. It comes out of the shelf and opens into a reading view with information about the edition. Some books also have a note about why they are here or an idea to take away. Then the book goes back into its place. The movement, the pages and the sound of returning it all became things to care about.
A room like this invites a certain amount of fussing. Once a book has weight and a place on a shelf, an odd movement becomes surprisingly noticeable. You find yourself discussing how a book closes with the seriousness normally reserved for much more sensible matters.
I like that about this project.
A perfectly good reason to fuss over candlelight
The room has a golden afternoon and a moonlit night. Switching between them changes how the whole place feels. In the afternoon, light comes through the windows onto the shelves and the table. At night, the candles get their turn.
Getting there involved some very particular decisions. The afternoon books went through a version where they looked like washed-out white blocks. The night needed a readable blue sky. The candle flames needed to sway, and their light needed to move with them. A globe had to become smaller so it sat more comfortably in the room.
The globe ended up 30 percent smaller. Even a library made of pixels can have too much furniture.
Sound added another layer. Turn it on and there is a world beyond the windows: a faint marketplace by day, crickets and frogs at night. Nearby, you hear the small sounds of handling a book or moving a ladder. Sound starts off, so you get to decide whether to let that world in.
None of these details is very large on its own. Together, they give you things to notice while you are looking around. I wanted there to be a reason to pause at the table or look back across the room.
Naturally, the lamp needed a keeper
The keeper belongs at that table. He lives in the brass lamp, and the three taps give his arrival a small ritual of its own. There is something lovely about asking a room for help and having someone appear who seems to belong there.
Getting the character right took a few attempts. An early version was too static. The replacement needed gestures, including a thoughtful stroke of his beard. If you are going to summon a librarian from a lamp, he should have a little presence.
You can type a title, an author, or the sort of book you are after. Behind the performance, he searches the actual collection. When a result has a place on a shelf, you can choose to go there and open it. He has a voice too. It was still switched off when I wrote this; since October 4 you can talk to him.
There is some careful plumbing underneath him. The language model gets books from the catalogue before answering, and the buttons that take you to a book come from those catalogue records. His words can still be wrong. If the model cannot answer, ordinary search is there to help.
The reason for all that care is fairly simple: after the lamp and the entrance and the beard-stroking, I would quite like him to find the book.
The keeper takes things a little too literally
In a September 25 launch check, the keeper was asked for something about building good habits. He recommended Build by Tony Fadell.
Atomic Habits was sitting in the catalogue. The search had spotted the letters "Build" inside "building" and decided it had found an exact title. The keeper then worked with what the search gave him.
It is a wonderfully literal mistake for a librarian to make. Ask about building habits; receive Build. Technically a book. Very confidently on a shelf. Still some room for improvement.
The repair checks whole words and gives longer questions another chance when a strict search comes up empty. The fix is now live, and in the follow-up check the habits question puts Atomic Habits first.
I enjoy the contrast between the idea and the work here. There is a magical keeper in a candlelit room, and one of his problems turns out to be how we match a word.
Come in and look around
There is also a plain catalogue, with all 969 editions, including books that do not have a physical place in the room. If you want to look something up quickly, that door is open too.
For this project, though, I hope you have a few minutes to wander. Try the afternoon light. Pull out a book. See what is on the next shelf. The collection gives the room a reason to exist, and the room gives me an excuse to keep making these small, slightly excessive things around it.
I wanted to make something that was fun to build and fun to visit. A library with a keeper in a lamp felt like a good place to start.
You will find him at the chart table. Three taps.


