{"adoption": {"forks": 9721, "observed_at": "2026-08-28T04:12:08.286047+00:00", "stars": 40633}, "canonical_url": "https://ross.abutalabs.com/products/50projects50days", "card": {"archived": false, "artifact_type": "learning-resource", "description": "50+ mini web projects using HTML, CSS & JS", "domain": ["web-development", "frontend", "education", "tutorials"], "enriched": true, "function": ["developer-tools", "ui-components", "animation", "form-handling"], "health_score": 25, "homepage": null, "language": "CSS", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["bradtraversy/50projects50days"], "name": "bradtraversy/50projects50days", "platform": ["cross-platform", "browser"], "pushed_at": "2025-02-26T13:49:39+00:00", "repo": "bradtraversy/50projects50days", "stars": 40633, "tags": ["html", "css", "javascript", "mini-projects", "beginner-friendly", "course-material", "vanilla-js", "web-server"], "topics": [], "urls": [], "use_cases": ["learn html css and javascript by building small projects", "practice vanilla javascript without frameworks", "find examples of css animations and ui effects", "beginner web development project ideas", "study dom manipulation examples", "supplement a front-end web development course"], "what_it_is": "A collection of 50+ mini web projects built with plain HTML, CSS, and JavaScript, accompanying Brad Traversy's '50 Projects in 50 Days' course. Each project is a small standalone demo (with live demos) teaching practical front-end techniques like animations, UI widgets, and DOM manipulation.", "when_to_avoid": ["you need production-ready code or a maintained library", "you are looking for React, Vue, or other framework-based projects", "you need a full-stack or backend learning resource"], "when_to_choose": ["you are a beginner learning HTML, CSS, and JavaScript fundamentals", "you want small, self-contained examples of common UI patterns and animations", "you prefer project-based learning without frameworks or build tools"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/50projects50days", "repo": "bradtraversy/50projects50days", "role": "main", "score": 36}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "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:12:08.286047+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.286047+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:23:25.229008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32ffb7709cfd2bba413804022824aeb16381a0872d9a9f932a4bf08a744fbcf2", "fetched_at": "2026-08-28T04:12:08.286047+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bradtraversy/50projects50days"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 8, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2116, "days_push": 553, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 36, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}