Audiobook Recommendation Engine - User Guide
Find your next great audiobook from your personal library
Access: https://audiobook-recommender.haiven.local/
Table of Contents
- Getting Started
- Importing Your Library
- Browsing Your Library
- Getting Recommendations
- Discovering New Books
- Tips and Best Practices
- FAQ
Getting Started
First-Time Setup
- Access the application at https://audiobook-recommender.haiven.local/
- You'll see an empty library dashboard prompting you to import books
- Export your audiobook library from Libation (see below)
- Import the Excel file to populate your library
What You'll Need
- Libation - The free audiobook library manager (https://getlibation.com/)
- Audible account - Your audiobooks must be registered with Audible
- Export file - An Excel (.xlsx) export from Libation
Importing Your Library
Step 1: Export from Libation
- Open Libation on your computer
- Go to File > Export Library
- Choose Excel (.xlsx) format
- Save the file (e.g.,
Libation Library Export 2026-01-18.xlsx)
Step 2: Import to Recommender
- Click the Import button in the top navigation
- Select your Libation export file
- Click Upload and Import
- Wait for processing (may take 2-5 minutes for large libraries)
What Happens During Import
- Validation - The system checks the Excel format
- Transformation - Data is cleaned and normalized
- Embedding Generation - Each book gets a semantic vector (~50 books/second on CPU)
- Storage - Books are indexed in the vector database
Import Progress
A progress bar shows:
- Books parsed
- Embeddings generated
- Database insertions
Post-Import
After import completes:
- Your library statistics appear on the dashboard
- Recommendations become available
- All features are enabled
Browsing Your Library
Library View
The main Library page shows all your audiobooks in a searchable grid.
Search and Filter
- Search Bar - Search by title, author, or narrator
- Status Filter - Show only finished or unfinished books
- Series Filter - Filter by series name
- Category Filter - Filter by genre/category
- Sort Options - Sort by date added, rating, title, or length
Book Cards
Each book card displays:
- Cover image (from Audible)
- Title and Author
- Narrator
- Series (if part of one)
- Length in hours
- Rating (community average)
- Status badge (Finished/Unfinished)
Book Details
Click any book to see:
- Full description
- Complete metadata
- Series information with other books
- Similar book suggestions
- External discovery options
Getting Recommendations
Backlog Recommendations
The Recommendations page helps you decide what to listen to next from your unfinished books.
How It Works
The system scores each unfinished book using four factors:
| Factor |
Weight |
What It Considers |
| Content Match |
30% |
How well it matches your listening history and preferences |
| Series Priority |
25% |
Whether you're mid-series (next book gets boosted) |
| Rating Score |
20% |
Community ratings and your personal ratings |
| Embedding Similarity |
25% |
Semantic similarity to books you've enjoyed |
Using Recommendations
- Go to the Recommendations tab
- View the ranked list of suggestions
- Click any book for details
- Click Score Breakdown to see why it ranked where it did
Score Breakdown
Each recommendation shows:
- Overall Score (0-100)
- Content Score - Based on category matching
- Series Score - Bonus for series continuation
- Rating Score - Weighted average rating
- Similarity Score - Vector similarity to favorites
Similar Books
Find books similar to one you enjoyed:
- Open any book's detail page
- Scroll to Similar Books section
- These are based on semantic similarity (not just categories)
What Makes Books Similar?
The BGE embedding model considers:
- Description content and themes
- Genre and category alignment
- Author style indicators
- Narrative structure cues
Discovering New Books
External Discovery
Find books you don't own that are similar to your favorites.
How to Discover
- Open any book's detail page
- Click Discover Similar button
- View external recommendations
Discovery Sources
- Hardcover (primary) - GraphQL API with rich metadata
- Open Library (fallback) - Free, open-source book database
Discovery Results
Each discovered book shows:
- Title and author
- Cover image
- Description
- Series information
- Average rating
- Link to purchase/find
Filtering Discoveries
- Results automatically exclude books you already own
- Duplicates are merged from multiple sources
- Results are cached for 30 minutes
Tips and Best Practices
For Better Recommendations
- Rate your books - Even a few ratings improve suggestions
- Finish series - The system learns your series completion patterns
- Keep library updated - Re-import periodically for new purchases
- Browse categories - Explore different genres to diversify recommendations
For Efficient Browsing
-
Use keyboard shortcuts
- / - Focus search bar
- Escape - Clear search/close modal
- Arrow keys - Navigate grid
-
Save filters - Bookmark filtered URLs for quick access
-
Dark mode - Toggle in the header for comfortable night reading
For Discovery
- Start with favorites - Discover from books you loved
- Check series - Discover often finds related series
- Verify availability - Check if audiobook version exists
Library Maintenance
- Re-import monthly - Catch new purchases and rating updates
- Mark finished books - Keep status current in Libation
- Clean up duplicates - Remove duplicate entries in Libation before export
FAQ
How often should I re-import my library?
Re-import whenever you:
- Finish a book
- Add new books to Libation
- Update ratings or statuses
Monthly re-imports keep recommendations fresh.
Why isn't my book showing up?
Check that:
- The book is in your Libation library
- You exported after adding it
- The import completed successfully
Why are recommendations not changing?
Recommendations update when:
- You mark books as finished
- You re-import your library
- You rate books differently
Try re-importing to refresh.
How do I reset everything?
Contact the system administrator to clear the database. This will require a fresh import.
What data is sent externally?
- Hardcover API - Only book metadata (ISBN, title, author) for discovery queries
- Open Library - Same as above
- No personal data - Your listening history stays local
Why does startup take so long?
The embedding model (~200MB) needs to load into memory. This takes 1-2 minutes on first start but is cached afterward.
Can I use this offline?
- Library browsing - Works offline once imported
- Recommendations - Works offline
- Discovery - Requires internet for external API calls
How are embeddings generated?
The system uses BGE-small-en-v1.5, a sentence transformer model that converts text descriptions into 384-dimensional vectors for similarity comparison.
What if Hardcover API doesn't work?
The system automatically falls back to Open Library. Discovery may have fewer results but will still function.
Support
For issues or questions:
- Check the README at /mnt/apps/docker/ai/audiobook-recommender/README.md
- View logs: docker logs audiobook-backend
- Contact system administrator
Last Updated: January 2026