{"adoption": {"forks": 171, "observed_at": "2026-09-03T02:15:14.032070+00:00", "stars": 1199}, "canonical_url": "https://ross.abutalabs.com/products/sokuji", "card": {"archived": false, "artifact_type": "application", "description": "Real-time two-way speech translation for bilingual meetings — auto-detects the spoken language and translates both directions, cloud or fully offline on-device. Desktop (Windows · macOS · Linux) + browser extension (Chrome · Edge) for Zoom, Meet, Teams & any app.", "domain": ["speech-processing", "developer-tools", "artificial-intelligence"], "enriched": true, "function": ["speech-recognition", "tts", "llm-inference", "audio-processing", "gui"], "health_score": 100, "homepage": "https://sokuji.kizuna.ai", "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["kizuna-ai-lab/sokuji"], "name": "kizuna-ai-lab/sokuji", "platform": ["windows", "browser", "wasm", "cross-platform"], "pushed_at": "2026-09-03T00:30:26+00:00", "repo": "kizuna-ai-lab/sokuji", "stars": 1199, "tags": ["speech-translation", "simultaneous-interpretation", "two-way-translation", "live-translation", "bilingual-meetings", "on-device-inference", "browser-extension", "zoom", "google-meet", "microsoft-teams", "offline-ai", "webgpu", "natural-language-processing", "localization", "macos", "linux", "electron"], "topics": ["ai", "meeting", "translation", "chrome-extension", "llm", "translator", "electron", "linux-app", "openai", "soniox", "bilingual", "live-translation", "real-time", "simultaneous-interpretation", "speech-translation", "stt", "tts", "two-way-translation"], "urls": [], "use_cases": ["translate live speech in real time during bilingual meetings", "interpret Zoom, Google Meet, or Teams calls across two languages", "run speech translation fully offline on-device without an API key", "auto-detect spoken language and translate both directions in a conversation", "add live translated voice output to any video call app", "use a browser extension for simultaneous interpretation in Chrome or Edge"], "what_it_is": "Sokuji is a cross-platform real-time two-way speech translation app for bilingual meetings, available as a desktop application (Windows, macOS, Linux) and a Chrome/Edge browser extension. It auto-detects the spoken language and translates in both directions, using either cloud providers (OpenAI, Gemini, Soniox, etc.) or fully offline on-device ASR, translation, and TTS powered by WASM and WebGPU.", "when_to_avoid": ["you only need text/document translation rather than live speech", "you need broadcast-quality professional simultaneous interpretation for large events", "you require a mobile (iOS/Android) solution — Sokuji targets desktop and browser only"], "when_to_choose": ["you need real-time two-way interpretation for bilingual meetings or calls", "you want privacy-focused, fully offline translation without cloud APIs or an expensive GPU", "you want flexibility to switch between multiple cloud providers and local inference", "you need translation that works across Zoom, Meet, Teams, Discord, and any other app"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sokuji", "repo": "kizuna-ai-lab/sokuji", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:14.032070+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:38:02.734565+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a4622fc14ec063f33ea6ae2aebdac35a2b153cbb1f062dcf366c715318b5aa6", "fetched_at": "2026-09-03T02:15:14.032070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kizuna-ai-lab/sokuji"}, {"content_hash": "b4bd223e212fe73b6f4b0646562b2e09ec7b64b78d2054a191b9b3cdcef061a6", "fetched_at": "2026-08-29T12:42:36.520945+00:00", "kind": "homepage", "missing": false, "url": "https://sokuji.kizuna.ai"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 36, "rhythm": 88}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 506, "days_push": 0, "days_rel": 1, "gap_med": 1, "n_releases_24m": 166}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}