{"adoption": {"forks": 126, "observed_at": "2026-08-28T04:07:24.934394+00:00", "stars": 2845}, "canonical_url": "https://ross.abutalabs.com/products/tokamak", "card": {"archived": true, "artifact_type": "framework", "description": "[Looking for active maintainers] SwiftUI-compatible framework for building browser apps with WebAssembly and native apps for other platforms", "domain": ["web-development", "frontend", "cross-platform"], "enriched": true, "function": ["ui-components", "frontend-framework", "wasm", "state-management"], "health_score": 10, "homepage": null, "language": "Swift", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["TokamakUI/Tokamak"], "name": "TokamakUI/Tokamak", "platform": ["wasm", "browser", "cross-platform"], "pushed_at": "2024-03-23T16:00:17+00:00", "repo": "TokamakUI/Tokamak", "stars": 2845, "tags": ["swiftui", "swiftwasm", "dom-renderer", "declarative-ui", "webassembly", "swift"], "topics": ["swift", "data-binding", "swiftui", "webassembly", "wasi", "swiftwasm", "dom", "ui-components", "hacktoberfest"], "urls": [], "use_cases": ["build browser apps in Swift using SwiftUI syntax", "compile SwiftUI-style UI to WebAssembly", "share SwiftUI code between Apple platforms and the web", "render arbitrary HTML and inline SVG from Swift views", "prototype web UIs with declarative Swift code"], "what_it_is": "Tokamak is a SwiftUI-compatible framework that lets developers build browser apps rendered to the DOM via WebAssembly, with a goal of supporting native apps on other platforms. It implements a subset of the SwiftUI API, including an HTML view for arbitrary HTML and inline SVG rendering.", "when_to_avoid": ["you need full SwiftUI API coverage - only a subset is implemented", "you need a production web framework with active maintenance - the project is looking for maintainers", "you need native rendering beyond Apple platforms - support is limited to WebAssembly/WASI"], "when_to_choose": ["you know SwiftUI and want to target the browser with Swift", "you want to reuse existing SwiftUI view code on the web via SwiftWasm", "you prefer declarative UI in Swift over JavaScript frameworks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tokamak", "repo": "TokamakUI/Tokamak", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "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:24.934394+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.934394+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:37:04.591553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a18f774f6932e1b390491d4cf1edc926dee5dec93dd44d0dc8bec50f40d01109", "fetched_at": "2026-08-28T04:07:24.934394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TokamakUI/Tokamak"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2909, "days_push": 893, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}