{"adoption": {"forks": 88, "observed_at": "2026-08-28T04:03:19.804367+00:00", "stars": 1038}, "canonical_url": "https://ross.abutalabs.com/products/circles-sines-signals", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A Compact Primer on Digital Signal Processing", "domain": ["tutorials", "education", "data-visualization"], "enriched": true, "function": ["documentation", "data-visualization", "graphics"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["jackschaedler/circles-sines-signals"], "name": "jackschaedler/circles-sines-signals", "platform": ["browser"], "pushed_at": "2022-06-30T05:48:47+00:00", "repo": "jackschaedler/circles-sines-signals", "stars": 1038, "tags": ["digital-signal-processing", "interactive-tutorial", "dsp-primer", "educational", "audio", "web-server", "javascript"], "topics": [], "urls": [], "use_cases": ["learn digital signal processing fundamentals", "understand how the discrete Fourier transform works", "visualize sine waves and sampling concepts", "find an accessible DSP tutorial with interactive demos", "study signal processing before implementing audio software"], "what_it_is": "An interactive web-based primer on digital signal processing, built with JavaScript visualizations. It explains core DSP concepts like sinusoids, sampling, and the discrete Fourier transform through animated illustrations.", "when_to_avoid": ["you need a production DSP library or code to embed in your project", "you want rigorous mathematical treatment with exercises", "you need comprehensive coverage of advanced DSP topics like filters design or wavelets"], "when_to_choose": ["you want an intuitive, visual introduction to DSP concepts", "you learn better from interactive animations than equations", "you need a free primer before tackling heavier DSP textbooks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/circles-sines-signals", "repo": "jackschaedler/circles-sines-signals", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "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:03:19.804367+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.804367+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:16.324311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0957306a09dae607369166edda634b15365a46a508e4f4a63ce3f05e1edc1317", "fetched_at": "2026-08-28T04:03:19.804367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jackschaedler/circles-sines-signals"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4217, "days_push": 1525, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}