名前の来歴
UX Labs という名称は、二段階の「文字を落とす」プロセスから生まれました。由来はあくまで出発点で、現在は文字どおり User Experience(ユーザ体験)の意味を引き受けています。
UX — 使う人が引っかかるところを一つずつ潰す。機能を足すことよりも、既にある機能が「気持ちよく動く」ことを優先する。
Labs — 納得するまで試作・計測・作り直しを繰り返す「研究所」。ベンチマーク専用や研究専用のリポジトリを独立させて運用しています。
AUXI(ジョークウイルス)
│ 「A」を落とす
▼
UXI Projects
│ 「I」を落とす
▼
UX Labs
開発哲学
既存のものにプラスアルファを
ゼロから新しいジャンルを作るのではなく、既にあるが不便なものを選び、そこに一手間を足す。音楽プレイヤーには LUFS 解析による自動音量調整を。読み上げ Bot にはコマンド不要の GUI を。開発が止まった Mod には精神的後継を。
認知負荷の軽減 — コマンドを打たせない UX
UX Labs で最も強く貫かれている原則。スラッシュコマンドは入口のみで、その先はすべて「パネル + ボタン」の GUI 操作で完結させる。説明書を読まなくても操作できること、コマンド構文の暗記のような専門知識を前提にしないことを、機能追加より優先します。
アクセシビリティとローカル優先
音声合成(VOICEVOX / AivisSpeech)、画像生成(Core ML / ANE)、LLM 推論(llama.cpp / LM Studio)は、すべて自宅マシン上で動かす構成。外部 API の従量課金を避け、「外部サービスに依存せず自分の管理下で運用したい」という需要を正当なものとして尊重します。
オープンソースへの恩返し
VOICEVOX や OpenJTalk の恩恵を受けて成り立っている以上、自らの成果物だけを非公開にするのは信義に反する——という考えから、旗艦の UX TTS は GPLv3 で公開。透明性の高い選択肢を増やすことで、分野全体の発展に寄与することを目指します。
非目標を先に決める
プロジェクト文書にはほぼ必ず Non-Goals(非目標)の節があります。やらないことを先に固定することでスコープの発散を防ぎ、「コードの簡潔さ・実装速度・体験の鋭さを、互換性や保守性より優先してよい」という判断を正当化します。
UX Labs の「作り方」
プロダクトそのものと同じくらい、開発プロセスが標準化されているのが UX Labs の特徴です。ほぼ全リポジトリが同じ骨格を持ちます。
Single Source of Truth 文書
各リポジトリに仕様の「唯一の正本」を置く。実装が方針からずれたら実装側を直す。方針を変えるなら、先にドキュメントを更新してから着手する。現在 561 ファイル・約 98,000 行に達しています。
判断の根拠まで残す進捗ログ
単なる作業記録ではなく、「なぜその判断をしたか」と実測値を残す。ピクセル単位の描画比較、症状→原因→修正→再発防止までを一続きで記録する文化です。
テスト駆動開発の厳守
「Red → Green → Refactor」を明文化し、失敗するテストを先にコミットしてから実装を足す。完了条件はリポジトリルートでの build && test 全通過。テスト関連ファイルは全体で 1,100 以上。
AI エージェントとの協働
各リポジトリに AI コーディングエージェントへの指示書を整備。タスクごとの指示書、トラック間の契約ファイル、git worktree による作業分離で、複数エージェントの同時作業を衝突なく回します。
計測してから決める
「速そうだから」ではなく、測ってから採用する。音声合成の初音遅延は目標値 150ms を明示して複数環境で実測。ブロック負荷を測るためだけの Mod を独立プロジェクトとして作ることも。
細かなバージョニング
0.1.0-Alpha-16c のような形式で、小さな検証単位ごとに番号を進める。ドキュメントとコミットメッセージは日本語、コード内の英語は英式綴りで統一。
基本情報
| 名称 | UX Labs |
| 代表者 | Yuki(GitHub: HariBote1110) |
| 形態 | 個人開発ブランド(企画・設計・実装・運用・ドキュメントまで一人で担当) |
| 主な活動拠点 | Discord(Bot の運用・コミュニティ)、GitHub(ソース公開) |
| ドキュメント | docs.ux-labs.jp(UX TTS ユーザー向け) |
| 主要ライセンス | GPLv3(UX TTS ほか)、MIT / 個別ライセンス |
| 活動期間 | 2024年12月 〜 継続中 |