{"adoption": {"forks": 250, "observed_at": "2026-08-28T04:09:02.192341+00:00", "stars": 4904}, "canonical_url": "https://ross.abutalabs.com/products/learn-to-program", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Educational resources to learn to program (Foundation in Web Development)", "domain": ["education", "web-development", "awesome-lists", "tutorials"], "enriched": true, "function": ["documentation"], "health_score": 32, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "active", "member_repos": ["karlhorky/learn-to-program"], "name": "karlhorky/learn-to-program", "platform": [], "pushed_at": "2025-05-10T22:50:40+00:00", "repo": "karlhorky/learn-to-program", "stars": 4904, "tags": ["awesome-list", "curated-resources", "beginner", "web-development", "courses", "free-resources", "web-server"], "topics": [], "urls": [], "use_cases": ["find free courses to learn web development", "curated list of beginner programming tutorials", "where to start learning HTML CSS and JavaScript", "best resources to learn to code for free", "compare learning platforms for new programmers", "find guides for learning Git and GitHub"], "what_it_is": "A curated awesome-style list of high-quality educational resources for learning to program, focused on foundational web development. It catalogs courses, books, and guides with notes on free availability and topics covered.", "when_to_avoid": ["you need advanced or specialized programming topics beyond web development foundations", "you want interactive learning software rather than a list of links", "you need structured curriculum with assessments"], "when_to_choose": ["you are a beginner looking for vetted web development learning materials", "you want a quick overview of free vs paid learning platforms", "you need recommendations for foundational HTML, CSS, JavaScript, and Git resources"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/learn-to-program", "repo": "karlhorky/learn-to-program", "role": "main", "score": 41}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "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:09:02.192341+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.192341+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.633843+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d8c2351632a31d1726fc53a89fd9f86e9b6bd77639971b64218aad5d81fb13c8", "fetched_at": "2026-08-28T04:09:02.192341+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karlhorky/learn-to-program"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 20, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+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": 4230, "days_push": 480, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 41, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}