Turn any bookshelf into smart recommendations instantly.
scanshelf identifies books from a single photo and delivers personalized recommendations. No accounts, no friction just scan, discover, and decide.
Scan Full Bookshelves: Capture multiple books in one photo Smart Recommendations: AI-powered suggestions tailored to your taste Understand the Why: Clear match reasoning for every recommendation Save for Later: Build and manage your personal reading list Buy Instantly: Direct Amazon links when you’re ready to purchase
- Shelf Scanning: Detects multiple book titles from a single image
- Metadata Enrichment: Pulls detailed info from external book APIs
- AI Summaries & Ratings: Enhanced descriptions generated on demand
- Match Reasoning: Transparent explanation behind each recommendation
- Goodreads Import: Upload CSV to personalize recommendations
- Manual Preferences: Fine-tune genres, themes, and interests
- Device-Based Profiles: No sign-ups — preferences stay on your device
- Multi-Layer Caching: Reduces API calls and improves response times
- Rate Limiting: Prevents abuse and controls cost
- Graceful Degradation: Core app works even if AI services fail
- PostgreSQL Monitoring: Connection health and performance tracking
Frontend React + TypeScript · TailwindCSS · Vite
Backend Node.js · Express.js · TypeScript · PostgreSQL · Drizzle ORM
AI & APIs OpenAI (GPT‑4o) · Google Books API (fallback)
Infrastructure Vercel · Device-based session handling
- Node.js 18+
- PostgreSQL (local or cloud)
- OpenAI API key
Create a .env file in the root:
.env.example provided
App runs at http://localhost:5000
- Image Capture — User photographs a bookshelf
- Text Extraction and Book Matching — Spine text is parsed and cleaned, and then matched
- AI Enhancement — Summaries, ratings, and insights generated
- Recommendation Engine — Personalized recommendations using OpenAI GPT-4o
- Caching Layer — Results stored to minimize repeat costs
- No accounts or emails collected
- Device-based preference storage
- Built-in rate limiting
Basic monitoring available at /admin:
- API usage stats
- Cache health
- System diagnostics