実績
MrHuang
Anthropic Agent SDK上に構築したセルフホスト型AIコンパニオン。トークン単価のAPI費用を避けるため、Claudeサブスクリプションで稼働。全会話をホームサーバーにローカル保存し、商用AIツールでは得られない永続的なナレッジベースを構築。WhatsApp(Meta Cloud API webhook)とWeb UIからアクセス可能で、Deepgramによる音声文字起こしに対応。プロンプトインジェクション防御、ツールサンドボックス、Cloudflare Tunnel + Tailscaleによるゼロトラストネットワーキングでセキュリティを強化。
ClaudeExecutorがAgent SDKをラップし、セマフォベースの並行性制御、ストリーミングレスポンス、ソフト/ハードタイムアウト、指数バックオフを実装。ContextAssemblerがMarkdownナレッジベースからトークン予算内でパーソナライズされたシステムプロンプトを構築。WhatsApp連携はHMAC-SHA256署名検証、送信者許可リスト、ルート別レート制限を実装。ホットリロード対応のパーソナリティ仕様。TrueNASホームサーバー上のDockerコンテナとして展開し、自動CI/CDポーリングで更新。
TypeScriptNode.jsAnthropic Agent SDKClaudeSQLiteDeepgramDockerRadioJP
リアルタイムAI文字起こし機能搭載の日本語ラジオストリーミング。faster-whisperパイプラインがライブ放送を継続的に文字起こしし、MeCabがふりがなを付与、フロントエンドが再生に同期したワードレベルのカラオケハイライトを表示。HLSストリーミング、局検索、お気に入り、地域グループ、RadiKo認証にも対応。
Pythonの継続トランスクライバーが10秒ごとに局をポーリングし、音声チャンクをVADフィルタリングとハルシネーション検出付きのfaster-whisperに供給。MeCabがセグメントを後処理し漢字→ふりがな変換を追加。SSEストリーミングAPIがキャプションをリアルタイムでフロントエンドに配信し、250msごとにアクティブな単語をハイライト、クリックでシーク操作が可能。キャプションゲートが文字起こし地平線で音声を一時停止し、再生がキャプションを追い越さないよう制御。HLS.jsが3段階のリカバリー戦略でストリーム再生を処理し、Zustandストアがページ遷移をまたいでプレイヤー状態を保持。
TypeScriptReactNext.jsHLS.jsfaster-whisperPythonMeCabZustandゴールデンハンドカフ・フィクサー 2000
海外駐在員向けのMonte Carlo財務シミュレーター。退職か継続かの意思決定を支援します。7つのシナリオ(勤務、退職、パートタイム、Coast FIRE、地理的裁定)を並べて比較、またはフェーズごとの人生タイムラインをモデル化。損益分岐点分析、破産確率の追跡、Die With Zero計算機能を搭載。
シナリオごとに対数正規リターンのシミュレーションを10,000回実行し、パーセンタイル(10th/25th/50th/75th/90th)を追跡。フェーズエンジンはフェーズ境界をまたいでポートフォリオ状態を引き継ぐため、「勤務5年→パートタイム3年→退職12年」のプランでも一つの連続シミュレーションとして実行されます。損益分岐点は二分探索で破産確率を5%未満に抑える最小勤務年数を算出。
TypeScriptReactNext.jsRechartsMonte Carlo予算計算機
アジア・中東10カ国の生活費計算ツール。リーンからコンフォータブルまで5段階のライフスタイルティアを用意し、住居、食費、交通費、医療費、行政コスト、ビザ費用を都市別に分解。データは一次調査に基づき、YAMLパイプラインで自動生成。
国別データは構造化されたYAMLリサーチファイルに格納され、コード生成スクリプトでTypeScriptとして出力されるため、ランタイムモジュールの手動編集は不要。状態管理にはuseReducerを使用し、ライブ為替レート変換を備えた共有FXレートサービスが予算出力をプランナーのシナリオ入力に直接接続。
TypeScriptReactNext.jsYAML Pipelineピアノアプリ(名称未定)WIP
日々の練習を習慣化するための4つのピアノスキルゲーム。「タイピング・オブ・ザ・デッド」モデルに倣い、ピアノスキルそのものがゲームメカニクスの核。視覚的な読譜、指の独立性ドリル、ベースパターンリズム、コードQTEを収録し、詳細なパフォーマンスデータを収集して弱点の可視化と上達の追跡を実現。
Vite + React 19上に構築。宇宙テーマのゲームにはPixiJS 8、リアルタイム楽譜レンダリングにはVexFlow 5、ピアノサンプル再生にはsmplrを使用。パフォーマンスデータはセッションごとに収集され、バージョン管理されたlocalStorageスキーマに保存。
TypeScriptReactVitePixiJSVexFlowMrHuang ListenerWIP
ESP32-S3 USBオーディオストリーミングデバイス。デュアルステレオマイクから音声をキャプチャし、mrhuang.aiにストリーミングしてリアルタイムAI処理を実行。MrHuangのハードウェア音声入力拡張機能。
ESP32-S3上でESP-IDF v5.5.3ファームウェアを動作。ステレオ構成のINMP441 MEMS I2Sマイク2基を搭載。Python asyncioサーバーにストリーミングし、処理後MrHuangバックエンドに引き渡し。
CESP-IDFESP32-S3PythonHardwareUSB HID入力自動化ツールWIP
Seeed Studio XIAO RP2040のハードウェア改造:マイクロコントローラーをマウスのスイッチ接点に直結し、ランダム間隔でクリックを発行。USB HIDタイミング、ハードウェアレベルのイベント注入、RP2040上のCircuitPythonを探求するプロジェクト。
Seeed Studio XIAO RP2040マイクロコントローラーをマウスのスイッチ接点にはんだ付けし、内蔵LiPoで駆動。ファームウェアはアナログフロアノイズをシードとしたPRNGで間隔をランダム化。USB HIDディスクリプタと組み込み電源管理を学ぶための小規模プロジェクト。
CircuitPythonRP2040USB HIDHardware