{"adoption": {"forks": 157, "observed_at": "2026-08-28T04:04:38.140291+00:00", "stars": 1405}, "canonical_url": "https://ross.abutalabs.com/products/airsonic-advanced", "card": {"archived": false, "artifact_type": "application", "description": null, "domain": ["media", "self-hosted", "web-development"], "enriched": true, "function": ["http-server", "streaming", "search-engine", "auth", "templating"], "health_score": 26, "homepage": null, "language": "JavaScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["airsonic-advanced/airsonic-advanced"], "name": "airsonic-advanced/airsonic-advanced", "platform": ["self-hosted", "cross-platform", "jvm"], "pushed_at": "2024-04-24T18:25:14+00:00", "repo": "airsonic-advanced/airsonic-advanced", "stars": 1405, "tags": ["music-streaming", "media-server", "subsonic", "jukebox", "podcast-receiver", "transcoding", "java", "spring-boot", "audio", "web-server", "docker"], "topics": [], "urls": [], "use_cases": ["stream my music collection from home server", "self-hosted music streaming server", "listen to my music library remotely over the web", "transcode flac to mp3 on the fly for streaming", "share music with friends over the internet", "podcast receiver with web interface", "jukebox player for local music library"], "what_it_is": "Airsonic-Advanced is a free, web-based media streamer for personal music collections, a modernized fork of Airsonic with improved security, performance, and features. It supports streaming large libraries over HTTP, on-the-fly transcoding of many audio formats, and works as a local jukebox with a podcast receiver.", "when_to_avoid": ["you need a full video-focused media server like Plex or Jellyfin", "you want a desktop-only music player without a web server", "you prefer a lightweight single-user player without server setup"], "when_to_choose": ["you want a self-hosted web-based music streamer for a large personal library", "you need on-the-fly transcoding of many audio formats", "you want Subsonic-compatible streaming with modern security improvements", "you need multi-player simultaneous streaming with bitrate limits"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/airsonic-advanced", "repo": "airsonic-advanced/airsonic-advanced", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.140291+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:38:46.404906+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "42a931b810b1cca5cdeeb5b700ce6ae1aabcffb922f1b6885f71ff7bd26c80ca", "fetched_at": "2026-08-28T04:04:38.140291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airsonic-advanced/airsonic-advanced"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2486, "days_push": 861, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}