{"adoption": {"forks": 655, "observed_at": "2026-08-28T04:05:59.606054+00:00", "stars": 1961}, "canonical_url": "https://ross.abutalabs.com/products/interview-coder-withoupaywall-opensource", "card": {"archived": false, "artifact_type": "application", "description": "interview-coder-withoupaywall-opensource", "domain": ["education", "developer-tools", "large-language-models"], "enriched": true, "function": ["llm-inference", "developer-tools", "gui"], "health_score": 54, "homepage": null, "language": "TypeScript", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["j4wg/interview-coder-withoupaywall-opensource"], "name": "j4wg/interview-coder-withoupaywall-opensource", "platform": ["windows", "cross-platform"], "pushed_at": "2025-08-09T14:03:27+00:00", "repo": "j4wg/interview-coder-withoupaywall-opensource", "stars": 1961, "tags": ["interview-preparation", "coding-interviews", "openai", "electron", "screen-capture", "job-seeking", "macos", "desktop"], "topics": [], "urls": [], "use_cases": ["get AI help during coding interviews", "analyze coding problems and generate solutions", "debug code with AI assistance", "prepare for technical interviews without paying for premium tools", "use my own OpenAI API key for interview assistance", "run interview helper locally for privacy"], "what_it_is": "A free, open-source desktop application (CodeInterviewAssist) that provides AI-powered coding interview assistance, including problem analysis, solution generation, and debugging help using your own OpenAI or Gemini API key. It is a community-driven alternative to paid interview prep tools, running locally for privacy.", "when_to_avoid": ["you expect polished premium features like live audio capture or dedicated support", "you need a fully supported commercial product with guarantees", "you cannot obtain or pay for your own OpenAI/Gemini API key"], "when_to_choose": ["you want a free alternative to paid interview prep tools", "you prefer using your own LLM API key and paying per use", "you need a local desktop app for coding interview assistance", "you want to customize or extend the tool yourself"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/interview-coder-withoupaywall-opensource", "repo": "j4wg/interview-coder-withoupaywall-opensource", "role": "main", "score": 38}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "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:05:59.606054+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.606054+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:37.996736+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d4cf92c099ea38fb2d4f2f8bc6adab90c2d9a67737dfafcbd437830d3ec4c3d", "fetched_at": "2026-08-28T04:05:59.606054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/j4wg/interview-coder-withoupaywall-opensource"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 36, "longevity": 38, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 537, "days_push": 389, "days_rel": 513, "gap_med": 6.5, "n_releases_24m": 3}, "score": 38, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}