Interactive Experience · 2026
Alvin’s Library
A walkable 3D library with 628 shelved books, a catalogue-grounded keeper, and a searchable view of all 969 editions.
Visit Alvin’s Library
A collection you can explore
Alvin's Library turns a book collection into a place to browse. Walk through a round room of 628 books on ten bookcases, grouped by subject beneath gothic windows. Switch the room between a golden afternoon and a moonlit night, pull a book from its shelf, and open its reading view.
The wider catalogue holds 969 editions. Of those, 187 include a curatorial note: why the book is here, an idea to carry forward, or who might find it useful. The product makes room for both a quick title search and an unhurried look around.
An AI keeper with a defined job
At the chart table sits a brass lamp. Tap it three times and the keeper appears. Ask for a title, an author or a subject. His results point to actual entries in the collection, and a shelved book can become a destination when you choose it.
The typed keeper calls the catalogue search before answering. The model is instructed to use its results; the page builds book choices from the returned identifiers, independently of the sentence. That distinction matters. Generated prose can still be wrong, while the available actions stay tied to real books.
When the model is unavailable or too slow, the same deterministic search supplies a short answer. Live voice is on, with an age gate and application spending limits.
The room should stay usable
The loading view traces the room's plan as assets arrive. Shader preparation happens before exploration. Mouse, keyboard, touch and game-controller paths share the same collection, with reduced-motion handling for visitors who request it.
A plain, searchable catalogue provides another way in. It includes every edition, including those without a place on a physical shelf. Recorded foley and ambience add presence to the room, and sound starts only when the visitor enables it.
Built with AI coding agents, reviewed as a product
The implementation combines Next.js, React Three Fiber and three.js. Blender supplies room assets, Howler handles audio, and OpenAI powers the typed keeper. Upstash Redis maintains shared usage limits.
AI coding agents assisted development under my product direction. The repository records decisions about book opening, shelf identity, lighting, movement and performance, with browser checks and revisions alongside the implementation. These are development observations, not a claim of measured impact on a launched audience.
What the build demonstrates
A useful AI feature can have a working foundation that survives the model being unavailable. Separating retrieval, prose and actions makes failures easier to locate and test.
The search itself still needs scrutiny. A launch check found that a short title could win by appearing inside a longer word. Fixing known matching cases improves retrieval; it does not establish that every recommendation is relevant.
The library brings these choices together in a public product that can be tried directly: explore the room, ask the keeper, or use the catalogue.