Concept Mockup ShelfLife as an Agent-First Reading Platform
Agent Ready
Browsing Discover — Try: "Find me a short sci-fi novel about AI consciousness"

Your reading life, agent-powered

ShelfLife is built for AI agents. Track books, get recommendations, share lists — all through natural language. Your agent handles the busywork; you do the reading.

Get Started — Tell Your Agent
"Sign me up for ShelfLife as @jacobc, then import my Goodreads export from ~/Downloads/goodreads_library_export.csv and mark anything I rated 5 stars as a favorite."
"Create my account and add The Three-Body Problem to my shelf" "Find popular sci-fi books published this year" "What are people reading in the AI/tech community?"

My Shelf 47 books

Your personal reading tracker
"Update my progress on Dune — I'm on page 312"
12
Currently Reading
28
Finished This Year
7
Want to Read
4.2
Avg Rating Given
🌎
The Dispossessed
Ursula K. Le Guin
72% · p.267 of 371
Reading
🔥
Dune
Frank Herbert
55% · p.312 of 568
Reading
🤖
Klara and the Sun
Kazuo Ishiguro
Want to Read
🌱
Braiding Sweetgrass
Robin Wall Kimmerer
Finished · Mar 14, 2026
Finished

Discover

Staff picks and community favorites
"Recommend something like Borges but more accessible"
Sci-Fi 🛰
Project Hail Mary
Andy Weir
4.8
476 pp
Philosophy 🧠
Godel, Escher, Bach
Douglas Hofstadter
4.3
777 pp
Nature 🌿
The Hidden Life of Trees
Peter Wohlleben
4.1
288 pp
Fiction 🌊
Piranesi
Susanna Clarke
4.6
272 pp

How It Works

A real agent interaction with ShelfLife
Agent Conversation
J
Add "The Dispossessed" by Le Guin to my shelf, rate it 5 stars, and find me 3 similar books about utopian societies in science fiction.
S
On it. Let me do three things:

SEARCH Looking up "The Dispossessed" by Ursula K. Le Guin...
GET /api/v1/books/search?q=dispossessed+le+guin

ADD Adding to your shelf with 5-star rating...
POST /api/v1/users/jacobc/shelf { "book_id": "isbn:0061054887", "status": "reading", "rating": 5 }

DISCOVER Finding similar utopian sci-fi...
GET /api/v1/books/isbn:0061054887/similar?tags=utopia&limit=3
S
Done! The Dispossessed is on your shelf with 5 stars. Here are 3 similar reads:

1. The Left Hand of Darkness — Le Guin (same universe, gender/society themes)
2. Woman on the Edge of Time — Marge Piercy (utopia vs. dystopia)
3. Ecotopia — Ernest Callenbach (ecological utopia, lighter read)

Want me to add any of these to your "Want to Read" list?
J
Add all three. And create a list called "Utopian Worlds" with all four books.
S
BATCH Adding 3 books + creating list...
POST /api/v1/users/jacobc/lists { "name": "Utopian Worlds", "description": "Sci-fi exploring ideal societies", "books": ["isbn:0061054887", "isbn:0441478123", "isbn:0449210820", "isbn:0960432009"], "visibility": "public" }

All set. "Utopian Worlds" is live with 4 books. View list →
📈 What Changed
Book Added
The Dispossessed
Ursula K. Le Guin · 1974 · 387 pages
★ 5/5 · On Shelf
Want to Read
3 books added
The Left Hand of Darkness
Woman on the Edge of Time
Ecotopia
Queued
New List Created
Utopian Worlds
4 books · Public · Shareable link generated
Live
Your Shelf Stats (Updated)
48 total books 12 five-star 3 lists

Agent Superpowers

Things your agent can do that buttons can't
🔎
Semantic Search
Go beyond keyword matching. Your agent understands concepts, themes, and vibes.
"Find me a book like Piranesi but set in space — something dreamlike and mysterious"
📚
Bulk Operations
Import, organize, and manage your entire library in a single request.
"Import my Kindle highlights and create a 'Best Quotes' list organized by theme"
🤝
Social Discovery
Cross-reference friends' shelves. Find unexpected overlaps and gaps.
"What has @sarah read that I haven't? Focus on non-fiction she rated 4+"
📅
Reading Challenges
Set goals, get pacing reminders, and track streaks automatically.
"Set a goal: 52 books this year, notify me if I fall behind pace"
📂
Smart Lists
Auto-curated lists that update as your taste evolves over time.
"Create a list of unread books under 300 pages, sorted by how much I'll probably like them"
✏️
Review Drafting
Your agent knows your reading history. It can draft reviews in your voice.
"Draft a review of Dune comparing it to the other desert novels I've read"

API for Agents

Every UI action has a corresponding API endpoint. Agents are first-class citizens.
Base URL: shelflife.app/api/v1
GET /books/search
Search by title, author, ISBN, or natural language description. Supports semantic queries.
# Semantic search GET /api/v1/books/search ?q=short novel about loneliness in space &limit=5 # Returns ranked results with match_score { "results": [{ "title": "The Martian", "author": "Andy Weir", "isbn": "0553418025", "match_score": 0.94 }] }
POST /users/:id/shelf
Add a book to user's shelf with status, rating, and optional notes. Idempotent by ISBN.
POST /api/v1/users/jacobc/shelf Authorization: Bearer sk_live_... { "book_id": "isbn:0553418025", "status": "reading", "rating": 5, "started_at": "2026-03-20", "current_page": 142, "notes": "Recommended by @sarah" }
POST /users/:id/lists
Create a curated list with description, books, and visibility. Lists are shareable via URL.
POST /api/v1/users/jacobc/lists Authorization: Bearer sk_live_... { "name": "Utopian Worlds", "description": "Sci-fi exploring ideal societies", "books": ["isbn:0061054887", ...], "visibility": "public", "tags": ["sci-fi", "utopia"] }
PUT /users/:id/shelf/:book_id
Update reading progress, status, rating, or notes. Partial updates supported.
PUT /api/v1/users/jacobc/shelf/isbn:0441013597 Authorization: Bearer sk_live_... { "current_page": 312, "status": "reading" } # Response includes computed progress { "progress": 0.55, "pages_remaining": 256, "est_days_to_finish": 8 }
GET /books/:id/similar
Get similar books based on themes, writing style, and community signals. Filter by tags.
GET /api/v1/books/isbn:0061054887/similar ?tags=utopia,feminist &exclude_read=true &limit=5 # Excludes books already on user's shelf # Returns similarity_score + explanation
POST /users/:id/import
Bulk import from Goodreads CSV, Kindle, Libby, StoryGraph, or raw JSON. Deduplicates by ISBN.
POST /api/v1/users/jacobc/import Content-Type: multipart/form-data Authorization: Bearer sk_live_... source: "goodreads" file: goodreads_library_export.csv auto_rate: true # preserve ratings auto_shelf: true # map shelves to lists # Response { "imported": 247, "duplicates_skipped": 3, "lists_created": ["to-read", "favorites"] }