Description
Add the ability to "follow" a record label so that new releases are automatically pulled into the discovery context with enriched metadata.
Motivation
Currently, discovering new releases requires manually scanning label pages via the bulk import flow. This means users can easily miss new releases from labels they care about. By allowing users to follow a label, the app can periodically check for new releases and automatically import them β ensuring nothing slips through the cracks.
How it could work
-
Follow a label β Users can follow a label from a discovery release's context menu, the editor, or a dedicated "Followed Labels" management view. A followed label stores the label name, source page URL (Bandcamp/Discogs/SoundCloud label page), and source type.
-
Automatic scanning β On a configurable interval (or on app launch), the app scans followed label pages for new releases using the existing scan_discovery_page infrastructure. New releases (not already in discovery, determined via URL dedup and find_matching_releases) are automatically created with metadata enrichment and stream prefetch β the same flow as the current bulk import.
-
Notification / visibility β New releases from followed labels could be surfaced via a badge, filter, or dedicated view so users can quickly see what's new since their last session.
Existing infrastructure to build on
scan_discovery_page() already scrapes Bandcamp/Discogs/SoundCloud label pages for releases
bulk_create_discovery_releases() handles creation + background enrichment + stream prefetch
find_matching_releases() provides deduplication by URL and artist+title
parent_url field on releases already tracks which label page a release came from
- The
label field on DiscoveryRelease stores the record label name
Open questions
- What sources should be supported initially? Bandcamp label pages are the most straightforward since scanning is already robust. Discogs and SoundCloud could follow.
- Should scanning happen on a schedule (e.g. every N hours), on app launch, or manually triggered?
- How should new releases from followed labels be surfaced? Options include: a filter/tag in the discovery view, a badge on the nav item, a dedicated "New from followed labels" section, or toast notifications.
- Should there be a limit on the number of followed labels to avoid excessive network requests?
- Should followed labels auto-assign a tag to imported releases for easy filtering?
Acceptance criteria
- Users can follow/unfollow a label from within the discovery context
- Followed labels are persisted in the database
- The app can scan followed label pages for new releases (at minimum Bandcamp)
- New releases are automatically created in discovery with metadata enrichment
- Duplicate releases are not re-imported (URL and artist+title dedup)
- Users can view and manage their followed labels
- New releases from followed labels are clearly surfaced in the UI
Tasks
TBD
Description
Add the ability to "follow" a record label so that new releases are automatically pulled into the discovery context with enriched metadata.
Motivation
Currently, discovering new releases requires manually scanning label pages via the bulk import flow. This means users can easily miss new releases from labels they care about. By allowing users to follow a label, the app can periodically check for new releases and automatically import them β ensuring nothing slips through the cracks.
How it could work
Follow a label β Users can follow a label from a discovery release's context menu, the editor, or a dedicated "Followed Labels" management view. A followed label stores the label name, source page URL (Bandcamp/Discogs/SoundCloud label page), and source type.
Automatic scanning β On a configurable interval (or on app launch), the app scans followed label pages for new releases using the existing
scan_discovery_pageinfrastructure. New releases (not already in discovery, determined via URL dedup andfind_matching_releases) are automatically created with metadata enrichment and stream prefetch β the same flow as the current bulk import.Notification / visibility β New releases from followed labels could be surfaced via a badge, filter, or dedicated view so users can quickly see what's new since their last session.
Existing infrastructure to build on
scan_discovery_page()already scrapes Bandcamp/Discogs/SoundCloud label pages for releasesbulk_create_discovery_releases()handles creation + background enrichment + stream prefetchfind_matching_releases()provides deduplication by URL and artist+titleparent_urlfield on releases already tracks which label page a release came fromlabelfield onDiscoveryReleasestores the record label nameOpen questions
Acceptance criteria
Tasks
TBD