Hyunjun Kim

AI動画ストリーミングプラットフォーム

Cloudflare のエッジ上で完結する完全サーバーレスの動画ストリーミングサービス — AIによる10言語の自動翻訳と暗号資産でのサブスクリプション決済を、AIと1人で構築

稼働中

2026.09 – 2026.10(約3週間、ファイル日付から算出 — gitなし) / 1人(AIをチームとして活用) / Web(サーバーレス)

課題
再生・サブスクリプション・多言語対応を備えたグローバルな動画ストリーミングを、サーバーなしで1人で運営できるか?
担当
企画 · 基準設定 · AIへの開発指示 · デプロイ
使用技術
Cloudflare Workers · Hono · D1 · R2 · Workers Rate Limiting

成果

Cloudflare Workers で稼働 — 管理すべきサーバーなし
稼働中
Cloudflare Workers で稼働 — 管理すべきサーバーなし
多言語UIと、AIによる動画タイトルの自動翻訳
10言語
多言語UIと、AIによる動画タイトルの自動翻訳
オンチェーンで検証するサブスクリプション決済
暗号資産
オンチェーンで検証するサブスクリプション決済
AI動画ストリーミングプラットフォーム
コード行数、DBマイグレーション39回、約70バージョン
約11,300
コード行数、DBマイグレーション39回、約70バージョン

01

本番のURLと実際のコンテンツは意図的に非公開にしています。画面は実際のUIを、サンプルデータ(サンプルのサイト名とタイトル、自作のAI動画)を使ってローカルで動かしたものです。

02

アイデア・課題

高速な再生、有料サブスクリプション、多言語対応を備えたグローバルな動画ストリーミングサービスを、サーバーを1台も運用せずに1人で回せるか? 目標は、すべてをエッジ(視聴者に近いネットワーク拠点)で完結させ、パッチ適用・スケーリング・死活監視の必要をなくすことでした。

03

企画と基準

  • サーバーなし:コンピューティング、データベース、メディアストレージ、レート制限、AI翻訳をすべて Cloudflare 上で。
  • 決済は信用せず検証する — サブスクリプションは、決済が独立に確認されてから有効化する。
  • 手作業の翻訳なしで、動画タイトルを含め、すべての視聴者が自分の言語でサービスを利用できること。

04

AIへの指示プロセス

  • 作業を配信・決済・多言語対応・セキュリティに分け、文書化したルールに沿ってAIにそれぞれを構築させた。
  • バージョンごとに何を、なぜ変えたかをREADMEに記録し続けた — 約3週間で約70バージョン。
  • 冪等なスクリプト1つでデプロイを自動化し、リリースをコマンド1つで行えるようにした。

05

成果

  • Cloudflare Workers+D1(データベース)+R2(メディア)+Workers Rate Limiting+Workers AI で稼働中。
  • 10言語対応、タイトルは Workers AI で自動翻訳。
  • 暗号資産によるサブスクリプション:決済はブロックチェーンの記録と照合し、再利用を防止。プロバイダーのWebhookは署名を検証。1つのサブスクリプションにつき同時利用は1端末。
  • オブジェクトストレージからのバイトレンジ動画配信とエッジキャッシュ。
  • TypeScript 約11,300行、データベースマイグレーション39回。

06

振り返り

エッジのスタックによって、サーバー運用ゼロのまま1人でグローバルなサービスを立ち上げられました。次回は初日から、最初のデプロイ前にGitとテストを用意し、監視とバックアップをデプロイスクリプトに組み込みます。

その他の画面 · 6枚

AI動画ストリーミングプラットフォーム — 再生画面
再生画面
AI動画ストリーミングプラットフォーム — カテゴリー
カテゴリー
AI動画ストリーミングプラットフォーム — サブスクリプション — USDTで決済
サブスクリプション — USDTで決済
AI動画ストリーミングプラットフォーム — 同じ画面の日本語版(10言語対応)
同じ画面の日本語版(10言語対応)
AI動画ストリーミングプラットフォーム — デスクトップのホーム
デスクトップのホーム
AI動画ストリーミングプラットフォーム — デスクトップの再生画面
デスクトップの再生画面

実際のサービスUIを、サンプルデータを使ってローカルで動かして撮影しました。サイト名・タイトル・動画・ウォレットアドレスはすべてサンプルで、動画は私が制作したAI作品です。

(01) Review

Honest Review

開発者が作っていたら?

強み4
  • 決済 — 信用せず検証する

    暗号資産によるサブスクリプション決済は1件ずつブロックチェーンの記録と照合し、再利用できないようにしています。決済プロバイダーのWebhookは署名を検証。

  • セキュリティの基本 — 一貫して実装

    厳格なCookieを用いた署名付き管理者セッション、ログインのロックアウト、セキュリティヘッダー、すべてのSQLクエリをパラメータ化(217箇所)、レート制限ルール6つ。

  • パフォーマンス — エッジ優先の動画配信

    オブジェクトストレージからのバイトレンジ配信とエッジキャッシュにより、オリジンサーバーが不要。

  • スピードとドキュメント — 約3週間で70バージョン、すべての変更理由を記録

    約11,300行、マイグレーション39回。651行のREADMEに各バージョンの変更理由を記録。日付はファイルのタイムスタンプに基づきます(gitなし、最小値)。

同等3
  • アーキテクチャ — 標準的な3層構成のWorkersアプリ

    ドメインロジック/ビュー/ルーターを分離。大きなルートファイルが2つほど残っています。

  • リリースと運用 — コマンド1つでデプロイ

    デプロイスクリプトがストレージ作成、マイグレーション実行、デプロイ、シークレット設定を冪等に実行 — 自動化済みですが、CIではありません。

  • 多言語対応 — 10言語

    10言語の辞書に加え、AIによるタイトルの自動翻訳。アクセシビリティは基本レベル。

次のステップ(改善中)3
  • テストとバージョン管理 — テストなし、gitなし

    バックアップはバージョンごとのZIPファイルでした。

    改善計画 → プライベートGitリポジトリ、その後決済検証のテストと、既存の型チェックも実行するCI。

  • コードの一貫性 — 2,000行規模のファイルが数個

    500行を超えるファイルが5つ、型のない箇所が一部、一時ファイルの残り。

    改善計画 → Gitへの移行に合わせて、ドメイン単位で分割・整理する。

  • 監視 — 本番環境の可視性が低い

    ログは最小限で、バックアップやロールバックの手順もありません。

    改善計画 → エラートラッキング、DBの定期バックアップ、ロールバック手順をデプロイスクリプトに追加。

次のプロジェクト →

Money Navigation

海外での支払いのたびに旅行者が損をしないよう支援するアプリ — 複数のAIセッションを指揮し、48時間のハッカソンで完成

Money Navigation desktop screenshot
ケーススタディを見る
履歴書 PDF(英語)