作成日: 2026/3/23 更新日: 2026/3/26

開発記録 #2:ブロックベース JSON

GoldFeather 開発記録 #2:ブロックベース JSON とエッジが支える「疎結合」の美学

前回の「コンセプト編」では、GoldFeather(ゴールドフェザー)が目指す AI Native なビジョンについてお話ししました。第 2 回となる今回は、そのビジョンを実現するための技術的な骨格――アーキテクチャとデータ構造の工夫について深掘りします。


1. 「ページ」を HTML ではなく「データの配列」として捉える

GoldFeather の最大の特徴は、コンテンツを伝統的な HTML 文字列として保存するのではなく、**「コンポーネント・ブロックの配列 (JSON)」**として管理している点です。

例えば、1 つの記事データは以下のような構造(イメージ)を持っています。

{
  "theme": "default-style",
  "components": [
    { "type": "Header", "props": { "title": "アーキテクチャの解説" } },
    { "type": "MarkdownContent", "props": { "body": "ここに本文..." } },
    { "type": "Affiliate", "props": { "id": "item-001" } }
  ]
}

この「ブロック・ベース」のアプローチには、大きなメリットが 3 つあります。

  1. AI への親和性: AI は複雑な HTML タグを解析することなく、必要な情報(本文やメタデータ)だけを JSON から直接、正確に抽出できます。
  2. デザインの自由度: HTML 構造が固定されていないため、フロントエンド(SPA)側のレンダリング・ロジックを入れ替えるだけで、全く異なる UI/UX を提供可能です。
  3. 拡張性: 「新しい機能を足したい」ときは、新しい type のブロックを定義して配列に足すだけ。既存のシステムを壊すことなく、プラグイン的に機能を追加できます。

2. エッジ・デカップリング・アーキテクチャ

GoldFeather は、システムの各機能を完全に独立(疎結合)させています。

管理・生成層 (Supabase & Cloudflare Workers)

管理画面での執筆や AI による生成は、Supabase (DB) と Cloudflare Workers (API) が担当します。ここでは PostgreSQL の Row Level Security (RLS) をフル活用し、マルチテナントとしての堅牢な隔離を実現しています。

配信・描画層 (Cloudflare R2 & SPA)

ここが GoldFeather の一番の工夫です。配信層は DB に一切アクセスしません。 記事が保存(ビルド)されると、必要なデータは全て静的な JSON ファイルとして Cloudflare R2 に書き出されます。

読み取り専用のエッジ配信に特化することで、「DB 負荷をゼロに抑えつつ、世界中からミリ秒単位でコンテンツを届ける」 ことが可能になりました。これは「静的サイトの爆速さ」と「動的アプリの柔軟さ」をいいとこ取りしたハイブリッド・アプローチです。

3. 「セキュリティ」と「シンプルさ」の両立

マルチテナント(複数のユーザーが利用する仕組み)を支える上で、セキュリティは最優先事項です。

詳細な実装は伏せますが、GoldFeather では「ユーザーの認証情報」と「テナントのデータアクセス」を PostgreSQL のコアレベルで直結させています。これにより、バックエンド層で複雑な権限チェック・ロジックを書く必要がなくなり、コードのシンプルさと安全性を同時に高めることに成功しました。

4. 結びに代えて

「データの持ち方」ひとつを変えるだけで、システム全体の柔軟性は劇的に変わります。 GoldFeather のアーキテクチャは、今後 AI が自律的にページレイアウトを組み替えたり、読者に合わせて最適なコンポーネントを配置したりするための「実験場」でもあります。


エンジニアリングの粋を集めた、羽のような軽やかさを、ぜひ体感してください。

関連記事

© 2026 GoldFeather