{"adoption": {"forks": 289, "observed_at": "2026-08-28T04:06:16.049441+00:00", "stars": 2115}, "canonical_url": "https://ross.abutalabs.com/products/vibe-draw", "card": {"archived": false, "artifact_type": "application", "description": "🎨 Turn your roughest sketches into stunning 3D worlds by vibe drawing", "domain": ["artificial-intelligence", "graphics", "web-development", "large-language-models"], "enriched": true, "function": ["image-processing", "machine-learning", "graphics", "web-framework", "api-framework"], "health_score": 38, "homepage": null, "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["martin226/vibe-draw"], "name": "martin226/vibe-draw", "platform": ["python", "self-hosted"], "pushed_at": "2025-07-03T18:32:42+00:00", "repo": "martin226/vibe-draw", "stars": 2115, "tags": ["3d-modeling", "sketch-to-3d", "ai-image-generation", "threejs", "nextjs", "fastapi", "gltf-export", "vibe-coding", "web-server", "nodejs", "docker"], "topics": [], "urls": [], "use_cases": ["turn hand-drawn sketches into 3D models", "create 3D worlds without 3D modeling skills", "refine rough drawings with AI", "export 3D scenes as glTF for game engines", "prototype 3D ideas quickly by drawing", "edit 3D models via text prompts"], "what_it_is": "Vibe Draw is a self-hosted web application that turns rough 2D sketches into 3D models and interactive 3D worlds using AI. It combines a Next.js/Three.js frontend with a FastAPI backend that orchestrates LLM and image-generation APIs to refine sketches and generate 3D assets, exportable as glTF.", "when_to_avoid": ["you need a polished production 3D modeling suite", "you don't want to manage API keys for Claude, Gemini, Cerebras, and PiAPI", "you need offline operation without external AI services", "you require permissive licensing (it is AGPL-3.0)"], "when_to_choose": ["you want sketch-to-3D generation you can self-host", "you lack traditional 3D modeling skills but want 3D scenes", "you need glTF export to feed existing 3D tooling", "you want an AI-assisted creative drawing canvas"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vibe-draw", "repo": "martin226/vibe-draw", "role": "main", "score": 33}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "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:06:16.049441+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.049441+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:53:21.802567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3557e07f6508344168fc56147f69389a7481dc7947a3c9aef121bdfeb576d80", "fetched_at": "2026-08-28T04:06:16.049441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/martin226/vibe-draw"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 29, "longevity": 37, "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": 530, "days_push": 426, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 33, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}