セキュアリンク : 0x00F4B00暗号化: AES-256-GCMオーバーライド: 偽
システムメモリ : 0.0MB
VRAM : 0.0MB
ノード : オンライン
レイテンシ : 14ms
> 起動シーケンス : カーネルロード... OK
4momentary: 一時的リアルタイム通信プロトコル&3D空間リレー
完全データベース不要・摩擦ゼロの使い捨てチャットプロトコル。白黒ブルータリズム美学、3D座標空間テレメトリ、BYOK型AIコンパニオンを融合。
ライブデモ • [プライベートリポジトリ]
概要
- 役割: 単独開発者・リードフルスタックアーキテクト(100%ゼロからの完全独自開発)
- ライブデモ: 4momentary.vercel.app
- リポジトリ: 非公開リポジトリ
- 技術スタック: Next.js 16 (App Router, Turbopack), React 19, TypeScript, Tailwind CSS v4, Lucide React, Upstash Redis, PeerJS (WebRTC), DeepSeek AI API, Web Audio API, Canvas API
- 主要実績: 1秒未満でのディスポーザブル(使い捨て)ルーム生成、永続トラッキングゼロ、ユーザーアカウントゼロ、DBメッセージ保存ゼロ、ルーム有効期限(T)到達時の完全なデータ消滅を保証。
- 要約: 4momentaryは、Next.js 16、React 19、Tailwind CSS v4を用いて構築された、ブルータリズム思想に基づく摩擦ゼロのエフェメラル(一時的)通信プロトコルおよびリアルタイムメッセージングシステムです。ルームの期限(T)を迎えるとすべてのデータが消滅するという厳密な数式定義のもと設計され、即時作成可能なマルチチャンネルルーム、ブラウザ内1MB画像最適化共有、WebRTC P2P通信、インタラクティブな3D空間レーダーマップ、そしてカスタムディレクティブとウェブ検索機能を備えたBYOK型AIコンパニオン(The Moth)を提供します。
数学的基盤とプロダクト哲学
システム全体のアーキテクチャは、以下のような厳密な数式として表現されます:
4momentary(T) = ∫₀ᵀ ( peers ⊕ messages ) dt − accounts − archive − tracking
room'(t) = peers(t) ⊕ messages(t) [0 ≤ t < T]
lim (t → T⁻) room(t) = ∅
主要な定義:
- room(ルーム): 名前とカウントダウン時計を持つ独立した空間。これ以上の設定は不要。
- channel(チャンネル): ルーム内の無制限のサブストリーム。それぞれが独立したチャットログを保持。
- category(カテゴリー): チャンネル名を汚すことなく整理できる独立した論理グループ。
- link(リンク): シンプルな単一URL。招待コードの承認、アカウント登録、アプリの導入は一切不要。
- timer(タイマー): 30分から24時間までのサーバー権限カウントダウン。ホストはいつでも途中で終了可能。
- ⊕ (追加): リアルタイムに参加者とメッセージが到着順に追加される。
- − accounts (減算: アカウント): 登録者ゼロ、ログインゼロ。
- − archive (減算: アーカイブ): T 以降に残存するメッセージや添付ファイルは皆無。
- − tracking (減算: トラッキング): Cookieなし、アナリティクスなし、プロファイリングなし、広告ピクセルなし。
- T (有効期限): ルームおよび割り当てられた全メモリ空間が完全に消滅する確定タイムスタンプ。
- ∅ (虚無・空): 単なる「論理削除」ではなく、メモリが完全解放され、物理的に消去すべきデータすら残らない状態。
課題と戦略的機会
- 監視と永続アーカイブの負担: 近代的なチャットツール(Discord、Slack、Telegram、WhatsApp)は、過去ログ、添付画像、ソーシャルグラフ、行動ログをクラウドサーバーに永続保存します。一時的な対話であっても消えないデジタル痕跡が残ります。
- 導入の摩擦: スタンドアップ会議、インシデント対応、デザインレビュー、技術面接、ゲームの事前作戦のために一時的なスペースを作ろうとすると、アカウント作成やOAuthログイン、アプリのダウンロードが強いられます。
- 肥大化したUI: 従来のツールは通知バッジや装飾、複雑な設定画面で画面が埋め尽くされ、対話への集中が削がれます。
- プロダクトの機会: 無駄を削ぎ落とした白黒ブルータリズム美学、ワンクリックでのルーム起動、完全なプライバシー保証、そして軽量AIアシスタントを融合させた使い捨て通信ツールを開発すること。
アーキテクチャと技術的決定
1. インメモリエッジリレーとRedis TTL自動消滅
- 完全データベース不要: ルームのライフサイクルはサーバーの揮発性インメモリ空間(
/api/room/[roomId])で完結します。
- Redis TTLフォールバック: Upstash Redisを併用する場合、ルームの残り時間と一致する厳密なTTL(Time-To-Live)が付与されます。カウントがゼロになるとRedisがキーを自動パージし、ガベージコレクション処理すら不要です。
- サーバー権限の時計管理: 有効期限(
expiresAt)はサーバー側で厳密に検証されます。期限が切れるとAPIは即座にHTTP 403を返し、メッセージ送信を遮断します。
2. WebRTC P2Pメッシュ通信
- 直接P2Pデータチャンネル: 同一ルーム内のブラウザ同士はPeerJSおよび公開STUNサーバーを介して直接WebRTC接続を試み、超低遅延の通信を実現します。
- シームレスなフォールバック: ファイアウォールや企業NATによってP2P直連が阻害された場合、クライアントはサーバーのエッジリレーへ自動的かつ透過的に切り替わります。
- マルチタブ BroadcastChannel: 同一デバイス内で開かれた複数タブは
BroadcastChannel APIを通じて即座に状態を共有し、無駄なネットワークリクエストを排除します。
3. マルチチャンネル&カテゴリー階層
- スキーマのオーバーヘッドゼロ: チャンネルはメッセージに付与される軽量メタデータタグ(
Message.channelId)として処理され、個別のDBテーブルを必要としません。
- 折りたたみ可能なカテゴリー: チャンネルはフォルダー単位(
Message.categoryId)で整理でき、Discordのような構造化をバックエンド設定なしで実現します。
- スコープ分離: メッセージ一覧、メンション、検索は現在選択中のチャンネルに絞り込まれ、システム全体の重要通知のみが全チャンネルで共通表示されます。
4. 3D空間レーダーマップとテレメトリ
- 3次元座標への投影: すべてのルームは仮想3次元座標空間 (X, Y, Z) にプロットされます。
- インタラクティブな3D軌道レーダー: ユーザーは3軸軌道レーダー上で稼働中のルームを探索でき、オービット回転、パン移動、ズーム、座標ジャンプに対応します。
- 動的な接続ユーザー表現: オンラインユーザーは空間内を浮遊するディザリング蝶(Dithered Butterflies)として可視化され、空間の賑わいをリアルタイムに伝えます。
5. クライアント側1MBメディア処理とBeehive選色器
- Canvasによるブラウザ内自動リサイズ: クリップボード(
Ctrl+V)やファイル選択から貼り付けられた画像は、HTML5 Canvas上で自動的にダウンサンプリングされ、1MBの上限を厳格に順守します。
- エフェメラルメディア: 送信前プレビュー、ブルータリズム仕様のフルスクリーン拡大表示を備え、ルーム終了時に復元不可能な形で消滅します。
- 39セルBeehiveハニカムパレット: 幾何学的に噛み合うSVG六角形構造を採用し、背景輝度に応じた自動文字コントラスト判定(
isLightColor)を内蔵しています。
6. The Moth: BYOK型AIコンパニオンと指令マーケット
- BYOKモデル (Bring-Your-Own-Key): ユーザー自身のDeepSeek APIキーを使用し、キーはブラウザの
sessionStorage内にのみ保持され、サーバーやログには一切残りません。
- ディレクティブマーケット: Dotaコーチ(Dotabuff/Dotafuryのパッチフィルター文法を解釈)、スポーツアナリスト、数理科学、リサーチ、プロフェッショナルなどのプリセット指令を搭載。
- 安全なウェブツール: DuckDuckGo検索やサーバー経由のWebページ読込ツールを統合し、キャッシュと個人識別情報のマスキングを実施。
- 他ルームへのサブコンパニオン配備: 複数のルームへ同時にアシスタントを配備(
deploy_companion)可能です。
7. ブルータリズム・マルチテーマエンジン
- 5つの建築的テーマ:
- 4momentary (Noir): 黒曜石のような深黒(
#000000背景、純白の輪郭線)。
- Stark White: 高コントラストの紙面ブルータリズム(
#ffffff背景、漆黒の罫線)。
- Terminal Phosphor: レトロなCRT蛍光グリーン(
#050a05背景、発光グリーン文字)。
- Newsprint: 新聞紙と木炭インクの風合い(
#f4efe6背景、#141311文字)。
- Industrial: 設計図面を想起させるシアンとスレート(
#091018背景、#00e5ffアクセント)。
- モバイルファースト:
100dvhに固定されたレイアウトで横スクロールを排除し、Web Audio APIによるミニマルなサウンドフィードバックを搭載。
主要指標とシステム仕様
プライバシー・セキュリティ・法的保証
- 絶対に収集しない情報: メールアドレス、電話番号、固有パスワード、アクセス解析用トラッキングピクセル、IPアドレスと発言内容を紐付ける永続アクセスログ。
- ブラウザ内に保持される情報: 表示名、Beehiveアクセントカラー、選択テーマは
localStorageに保存。DeepSeek APIキーや非公開ルーム用トークンはsessionStorageにのみ留まり、タブを閉じると完全に消滅します。
- リレーが稼働中にのみ保持する情報: 参加者名簿(25秒ごとのハートビート)、ルーム名、3次元座標、送受信中のメッセージデータ。
- 確実な消滅: タイムスタンプ T に達した瞬間、すべてのメモリが解放されます。期限切れルームへのアクセスはHTTP 404となり、以降の読み書きは一切遮断されます。
振り返りと今後の展開
- 得られた知見: 永続DBを使わずに複数タブおよび異機種間でリアルタイム同期を実現するため、
BroadcastChannelとTTLインメモリ管理の組み合わせが大きな効果を発揮しました。
- WebRTCの耐障害性: 厳格な企業ネットワーク下でも通信を維持できるよう、PeerJSデータチャンネルからエッジルートへの透過的フォールバック設計を徹底しました。
- 将来構想: Web Cryptoを用いたセッション単位のエンドツーエンド暗号化署名の導入や、3D空間マップにおける多次元クラスタリング表示を計画しています。
担当領域と貢献内容
- プロトコルおよびバックエンド設計: インメモリルームストア、Redis TTL消去ロジック、サーバー主導型カウントダウン同期、Edge APIリレーの構築。
- フロントエンドおよびUI/UX実装: 白黒ブルータリズムデザイン、5つのテーマパレット、
100dvhモバイルレイアウト、39セルBeehiveセレクターの開発。
- 3Dテレメトリおよび空間マップ: 3次元座標投影アルゴリズム、軌道制御カメラ、蝶のパーティクル表現の設計。
- AI連携とツール構築: BYOK型DeepSeekコンパニオン(The Moth)、ディレクティブマーケットプレイス、Dota専用パッチ構文解析、Web検索ツールの実装。
- 品質管理と検証: Next.js 16 / React 19でのビルドエラーゼロ、ESLint警告ゼロ、Impeccable品質基準への完全準拠を達成。
本番デプロイ&リポジトリ
- 本番環境: Vercelにて稼働中: 4momentary.vercel.app。
- リポジトリアクセス: 非公開リポジトリ(完全にゼロから構築された独自開発IP)。