KNOTA bilingual (JA/EN) web app that helps foreign residents and Japanese locals in Kansai meet and help each other. There’s no sign-up: everyone joins anonymously with a random nickname. Built for the Kansai Bridge hackathon. Features Meet: random 1:1 chats, translated both ways, opening with a bilingual icebreaker. Hangouts: small public meetups with a feed and a translated group chat. Help: an emergency mode after strong earthquakes or organizer alerts, “Are you OK?” check-ins, a mutual aid board, and emergency info.
Shisa AIVercelCodex+1
Ohkini! BridgeOhkini! Bridge 発表形式 / Presentation 当日はライブデモを実施します。添付動画は使用しません。 We will present a live demo. Please disregard the attached recording. 言葉だけでなく、大阪らしい親しみやすさを届ける音声翻訳アプリ。 プロジェクト概要 英語と日本語を双方向に音声翻訳するWebアプリです。大阪を訪れる人と日本語話者が、言葉の壁を越えて気軽に会話できることを目指しました。関西弁モードでは英語を自然な関西弁に翻訳し、表情豊かな声で読み上げます。 主な機能 - マイクで話した内容を認識し、英語から日本語、日本語から英語へ翻訳 - 関西弁モードのオン・オフ切り替え - 疑問文や感嘆文に合わせた日本語音声の抑揚 - 男声と、明るい関西アクセントの女性音声「Tsuki」の切り替え - 定型フレーズ、文字起こし・翻訳結果の表示、音声の再生ボタン - 声の選択を保存し、連続操作による音声の重なりを防止 試し方 1. をChromeで開きます。 2. EN → JP または JP → EN を選びます。 3. 関西弁モードと読み上げの声を選びます。 4. マイクボタンを押して話すか、Quick phrasesを押します。 5. 翻訳結果と音声を確認します。Play againで再生できます。 例:「Where is the station?」→「駅ってどこにあるん?」。 技術構成 Web Speech APIで音声認識、Anthropic Claude APIで翻訳、ElevenLabs APIで音声合成を行います。フロントエンドはJavaScript / HTML / CSSとVite、バックエンドはNode.js / Express、ホスティングはVercelです。APIキーはサーバー側の環境変数で管理しています。 動作確認 本番で双方向の翻訳、音声生成・再生、実マイク入力、男女の声切り替えと選択の保存を確認しました。 公開デモ: ソースコード:
Anthropic Claude APIElevenLabs APIWeb Speech API+7

Matcha Brothers言葉の壁 / The Language Wall English · 日本語 ▶ Play / プレイ: (hosted on Render / Render でホスティング) | | URL | | --- | --- | | Game / ゲーム | | | Projector view (QR to join) / プロジェクター表示(参加用QR) | | | Trailer / トレーラー | | | Server status / サーバー状態 | | > Render's free tier sleeps after 15 minutes idle. Open the site a minute before playing so it can wake up. > Render の無料プランは約15分アクセスがないとスリープします。プレイの1分ほど前にサイトを開いておいてください。 --- English Co-op browser game for the "Bridge Kansai / 関西をつなぐ" hackathon: Japanese- and English-speaking players break a wall by passing everyday words and phrases through a cross-language telephone game, judged by TypeSafe Jev. Hackathon scope Some preparation was done before the hackathon (2026-10-07 → 2026-10-08, up to and including commit 285a7e5): the playable game itself — realtime server, teams and chains, boss, art, music, spell effects, layout and the answer guard — running with a placeholder (mock) judge. The hackathon starts at commit a2f72a4 (2026-10-09). Its main goal was the Jev integration: replacing the mock judge with TypeSafe Jev, which scores how much meaning survived each translation chain (exact / same idea / related / lost) and drives the damage. Alongside that, refinements: - Jev's verdict and confidence in the battle log, a host-only END GAME button, a 3-player minimum, removable bots - a bigger casual vocabulary with short phrases (126 terms) - furigana (hiragana readings) over kanji, and chains starting in Japanese or English with equal odds See everything done during the hackathon: 285a7e5...main. How it plays 1. Everyone opens the game (or scans the QR on the projector), enters a name and picks a Kansai character. 2. The host presses FIGHT (3–30 players; bots count). Players are split into the fewest teams of at most 5, as evenly as possible (21 players → 5·4·4·4·4). Late joiners go to the smallest team. 3. Party turn: each team gets a word or phrase, randomly Japanese or English. It passes through every member, and each one translates what they received into the other language (JA ⇄ EN). Answers may not reuse the received word and must be written in the target language. 4. Spells resolve: the word's journey is revealed, Jev judges how much meaning survived, and the team's spell hits the wall. A perfect match is a critical hit; lost meaning fizzles. Damage scales with chain length (×hops/2), so bigger teams aren't at a disadvantage. The battle log shows Jev's verdict and confidence. 5. Enemy turn: the wall strikes back, harder for every fizzled spell. 6. Break the wall before the party's HP runs out and a bridge forms across Kansai. The host can add/remove bots in the lobby (dev mode) and end a running game for everyone (■ END GAME). Judge Each finished chain asks Jev one Choice question — does the final text keep the meaning of the original (exact / same idea / related / lost)? The probabilities feed the damage formula. An exact (normalized) match skips the API and counts as a full hit. Idioms are judged by meaning, so a literal word-for-word translation doesn't count. If Jev is unavailable the game falls back to a mock judge so a spell never hangs. Run locally - Players: · Projector view: · Trailer: - Tests: pnpm test · Type check: pnpm typecheck Production Deployed on Render via render.yaml at (free web service). Env vars: - TYPESAFE_API_KEY — enables the Jev judge; without it a mock judge is used. Put it in a git-ignored .env locally and in Render's Environment Variables in production (never in the code). - PORT (production), API_PORT (dev API), HOP_SECONDS (time per hop, default 45), DEV_BOTS=1 (host can add bots). Tech React 19 + TypeScript + Vite · Node 24 + Express + Socket.IO (server-authoritative game state) · TypeSafe Jev (judge) · kuromoji (furigana) · procedural SVG/canvas pixel art and Web Audio chiptune music. --- 日本語 「関西をつなぐ / Bridge Kansai」ハッカソンのための協力型ブラウザゲームです。日本語話者と英語話者が、 日常の言葉やフレーズを言語をまたいだ伝言ゲームでつなぎ、TypeSafe Jev の判定で 「言葉の壁」を壊します。 ▶ プレイはこちら(Render で公開中): ハッカソンの範囲 ハッカソン前に一部の準備を行いました(2026-10-07 〜 2026-10-08、コミット 285a7e5 まで)。ゲーム本体 — リアルタイムサーバー、チームと伝言チェーン、ボス、アート、音楽、魔法エフェクト、レイアウト、回答チェック — を、仮の判定(モック)で動く状態まで作っています。 ハッカソンはコミット a2f72a4 から始まります (2026-10-09)。主な目標は Jev の統合 です。モック判定を TypeSafe Jev に置き換え、 伝言チェーンでどれだけ意味が残ったか(完全一致 / 同じ意味 / 関連 / 失われた)を判定し、そのままダメージに 反映します。あわせて以下の改善も行いました: - バトルログに Jev の判定と確信度を表示、ホスト専用の終了ボタン、3人以上で開始、ボットの削除 - 語彙を拡大し、短いフレーズも追加(126語) - 漢字にふりがな(ひらがな)を表示、最初の言葉は日本語・英語をランダムに出題 ハッカソン中に行った変更の一覧: 285a7e5...main 遊び方 1. 各自ゲームを開く(またはプロジェクターの QR コードを読み取る)、名前を入力して関西のキャラクターを選びます。 2. ホストが FIGHT を押します(3〜30人、ボットも人数に含みます)。参加者は最大5人のチームに、 できるだけ均等に自動で分かれます(21人なら 5・4・4・4・4)。途中参加の人は一番人数の少ないチームに入ります。 3. 味方のターン: 各チームに日本語または英語(ランダム)の言葉・フレーズが出題されます。言葉はチーム全員を 順番に回り、各自が受け取った言葉をもう一方の言語に翻訳します(日本語 ⇄ 英語)。受け取った言葉をそのまま 使うことはできず、指定された言語で書く必要があります。 4. 魔法の発動: 言葉がどう変わっていったかが表示され、Jev がどれだけ意味が残ったかを判定し、チームの魔法が 壁に命中します。完全一致はクリティカルヒット、意味が失われると魔法は不発(ぷすん…)。チェーンが長いほど ダメージが大きくなるので(×人数/2)、大きなチームも不利になりません。バトルログには Jev の判定と確信度が 表示されます。 5. 敵のターン: 壁が反撃します。不発の魔法が多いほど強い攻撃になります。 6. パーティーの HP がなくなる前に壁を壊せば、関西に橋がかかります。 ホストはロビーでボットの追加・削除(開発モード)や、進行中のゲームを全員分終了(■ 終了)できます。 判定について チェーンが完成するたびに、Jev に1つの選択式の質問をします — 最後の文は元の言葉の意味を保っているか (完全一致 / 同じ意味 / 関連 / 失われた)。その確率がそのままダメージ計算に使われます。元の言葉と完全に 一致した場合は API を使わず、そのまま完全ヒットになります。慣用句は意味で判定するため、直訳で意味が 変わってしまった場合は正解になりません。Jev に接続できない場合は、魔法が止まらないようモック判定に切り替わります。 ローカルで動かす - プレイヤー: ・ プロジェクター表示: ・ トレーラー: - テスト: pnpm test ・ 型チェック: pnpm typecheck 本番環境 render.yaml で Render にデプロイしています: (無料プラン) 環境変数: - TYPESAFE_API_KEY — Jev の判定を有効にします。未設定の場合はモック判定になります。ローカルでは git に 含まれない .env に、本番では Render の Environment Variables に設定してください(コードには書きません)。 - PORT(本番)、API_PORT(開発用 API)、HOP_SECONDS(1人あたりの制限時間、初期値45秒)、 DEV_BOTS=1(ホストがボットを追加可能) 技術 React 19 + TypeScript + Vite ・ Node 24 + Express + Socket.IO(ゲーム状態はサーバーで管理) ・ TypeSafe Jev(判定) ・ kuromoji(ふりがな) ・ SVG / canvas で描くピクセルアートと Web Audio のチップチューン音楽
ViteReactNode JS+1

HashiHashi is a small, portable robot that sits in the room as an interpreter between people who don’t share a language. It listens to both sides and uses a live language model to translate in real time. It introduces each party with the right level of politeness: keigo for the Japanese side and polite English for the foreign side. It can also pull up market data or company information during the conversation. A companion app records a bilingual transcript that anyone can switch between languages and search later. It costs less than a human interpreter, it already knows your business, and it feels more personal than passing a phone back and forth. It works for business meetings, for community groups, and for cultural sites like temples.
Neo4jShisa AI
Drink w/ m3Going out for a drink shouldn't mean drinking alone. One tap on the big drink button checks you in, and your friends see live what you're having and where. Opted-in people nearby can send you a "Hi", and nothing happens unless you accept. There's no profile and no sign-up, and it's not a dating app. It's just a quick way to turn "I'm having a drink" into "come join me."
NextJSPWATailwind+4
My TeamDescription
Neo4jShisa AI