Multi-source discovery
Plug in any number of release feeds. v1 ships a Nyaa source with RSS + per-post enrichment; the DiscoverySource trait is the contract for adding more.
Resolves to MangaBaka
Every release runs through a four-step pipeline: known external ID โ foreign-ID lookup โ fuzzy-title search โ format validation. Confident matches auto-link; ambiguous ones land in the review queue.
Review queue, not a black box
Releases that don't auto-resolve get a card with cleaned search queries, applied cleanup rules, candidate covers, and one-click provider-search to link them by hand.
Built in Rust
Single binary, single SQLite file. axum + sea-orm + tokio. The React SPA is embedded via rust-embed behind a feature flag.
Codex-friendly
Designed to run alongside Codex. tsundoku surfaces what you don't own; Codex tracks what you do. No shared database โ clean HTTP boundary between the two.
Operator-first
Admin page surfaces per-source config, last-poll markers, manual triggers, and a metrics tab with resolution-outcome breakdowns + review-queue depth over time.