Version history
Discovery spider markdown parsing is now section-aware and better matches real curated list formats. It accepts bold bullet links, restricts some broad lists to artist-relevant sections, and avoids spending discovery budget on generic research/blog sections.
Discovery spider seed coverage expanded with artist-growth-friendly sources and markdown-table parsing. It can now ingest additional AI marketing, AI music, and broader creator-tool lists whose entries are stored in README tables rather than only bullet lists.
Discovery spider scoring now biases toward artist-growth usefulness instead of generic AI mentions. Music, audio, video, creator, social, community, marketing, promotion, distribution, and audience-growth signals raise confidence, while generic enterprise/developer-only signals reduce it.
Added an MVP discovery spider pipeline with a staging table for discovered listings, multi-source seed ingestion, AI-friendliness scoring, duplicate detection, and optional promotion into the live moderator/public listing flow.
Moderator queue (Pending/Approved/Rejected tabs) now has sort control — moderators can switch between 'Oldest first' (default, FIFO) and 'Newest first' via pill links above the listing cards. Tab and sort are preserved in all nav links.
Category, subcategory, and tag pages now show pricing filter context in the page header when a pricing filter is active (e.g., 'Showing 3 Free resources · Clear filter'), matching the browse and search pages.
All directory routes now pass an explicit canonicalUrl to their templates — resource pages, browse, categories, tags, search results, category, subcategory, and tag pages. Previously all directory pages defaulted to the homepage URL as canonical, preventing Google from indexing each page on its own URL.
Search and category pages now show correct pricing filter counts. Also added category quick-filter pills to search results so visitors can narrow by category without leaving the search page.
Daily helper scripts now close their shared database pool after running, so FutureTools intake and weekly highlights checks finish cleanly in cron instead of waiting on open connections.
Dedicated /submit page added — a standalone submission page with AI-friendly criteria for logged-out visitors and a direct form for logged-in users. Submit page added to sitemap. Homepage submit section replaced with a clean link.
Resource page Visit button now includes a small external-link arrow (↗) so visitors can see at a glance that the link opens in a new tab.
The admin dashboard overview now shows when the last moderation action (approval or rejection) occurred, with direct links to the approved and rejected tabs in the moderator dashboard. Admins can now see at a glance how recently the queue was reviewed.
The admin dashboard overview now shows when the last moderation action (approval or rejection) occurred, with direct links to the approved and rejected tabs in the moderator dashboard. Admins can now see at a glance how recently the queue was reviewed.
Added a pending-listings count to the admin dashboard overview and left navigation, with both linking directly to the moderation pending queue. Admins can now see whether submissions need review from /adm/ without opening the moderator dashboard first.
Added a category quick-filter row to the browse page header — each top-level category (Music, Community, Resources, Services) appears as a pill chip with its name and approved listing count, linking directly to that category page. Visitors can now jump to a category right from /browse without going through the categories page first.
Expanded the default taxonomy beyond Music with Community, Resources, and Services buckets; added a weekly highlights section to the homepage driven by the newest resources from the last 7 days; and added FutureTools daily import / weekly highlights scripts so the site can keep growing as a living resource hub.
The browse page header now shows the total approved resource count when no pricing filter is active — "N approved resources in the directory." — replacing the previous generic "Every approved resource in the directory." The filtered view already showed counts.
Description fields on the submit form and moderator edit form now show a format tip nudging toward the structured sectioned format (Intended Purpose / Who It's For / Why It's Necessary) for more readable listing cards.
Search results now echo the active pricing filter in the page header. Filtered searches show the selected tier, such as Free resources, and include a clear-filter link that preserves the search query and active sort.
Browse page now shows result count and active pricing filter label in the page header when filtering by tier, with a clear-filter link to return to the full directory view.