Library
How Enve organizes everything once you've connected your sources.
Collections
Manual drag-and-drop collections that span every source you've connected. A collection can have audiobooks from Audiobookshelf and ebooks from Komga side by side. The collection doesn't care where the items live.
Smart collections
Rule-based collections that update themselves as your library changes. Available filters:
- Author, narrator, genre, tags.
- Duration or page count.
- Progress (0 to 100%, or ranges).
- Status: unstarted, in-progress, finished, or abandoned.
- Source, library, or collection.
- Date added or date finished.
- Rating.
Combine with AND, OR, NOT. Examples: "every unfinished Brandon Sanderson over 20 hours", "everything narrated by Ray Porter I haven't started", "comics I started this month."
Series and dedup
Series are detected automatically across sources. One series view for every book that belongs to it, regardless of where it's hosted. Built-in dedup catches the common case of the same book appearing in two sources (Audiobookshelf audio plus Komga PDF) and groups them.
Stats
Reading and listening are tracked separately and together:
- Time listened or read this week, month, year, or all-time.
- Per-book stats: start date, finish date, total time, average session length.
- Source breakdown: how much of your time goes to which server.
Goals and streaks
Set a weekly listening goal in minutes. Track a streak of consecutive days you've listened. Optional, off by default.
Huge libraries
Enve is tested at 72,804 audiobooks and 50,222 ebooks on the same device. The architecture is built for it:
- Parallel pagination. Multiple library pages fetch in parallel.
- Throttled sync writes. Never hammer your server.
- Efficient batching for metadata and cover fetches.
If you have a huge library, the first sync takes a while. Minutes, not seconds. Subsequent syncs are incremental and fast. The dev's note: "It will be slow when building the libraries."