{"adoption": {"forks": 425, "observed_at": "2026-08-28T04:07:41.430116+00:00", "stars": 3067}, "canonical_url": "https://ross.abutalabs.com/products/30-days-of-elixir", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A walk through the Elixir language in 30 exercises.", "domain": ["programming-languages", "tutorials", "education"], "enriched": true, "function": ["interpreter", "testing", "concurrency"], "health_score": 20, "homepage": null, "language": "Elixir", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["seven1m/30-days-of-elixir"], "name": "seven1m/30-days-of-elixir", "platform": ["elixir", "cross-platform"], "pushed_at": "2022-04-13T18:14:27+00:00", "repo": "seven1m/30-days-of-elixir", "stars": 3067, "tags": ["elixir", "exercises", "functional-programming", "learning-by-doing", "tutorial"], "topics": [], "urls": [], "use_cases": ["learn elixir from scratch", "elixir exercises for beginners", "practice functional programming in elixir", "understand elixir processes and concurrency", "30 day elixir learning plan", "elixir examples with unit tests"], "what_it_is": "A 30-exercise walkthrough of the Elixir programming language, with one small script per day covering basics like lists, maps, pattern matching, and processes. It was written by the author while learning Elixir and is intended to be read, modified, and experimented with.", "when_to_avoid": ["you need a comprehensive or up-to-date Elixir reference", "you want production-ready code or a full application", "you prefer video courses or structured interactive lessons"], "when_to_choose": ["you are new to Elixir and want small, incremental exercises", "you learn best by editing and rewriting example code", "you want a gentle introduction to functional concepts and OTP processes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/30-days-of-elixir", "repo": "seven1m/30-days-of-elixir", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "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:07:41.430116+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.430116+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:28:10.950717+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c83370dfb2d38626920857d89e476eaf874d2bdfb84dd882a0f698f7d03c5681", "fetched_at": "2026-08-28T04:07:41.430116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seven1m/30-days-of-elixir"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4649, "days_push": 1603, "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}}