マッハチームとアセプロのサイトを公開しました

マッハチームとアセプロのサイトを公開しました

2025.10.21

こんにちわ。リテールアプリ共創部マッハチームの西田です

今回は、マッハチームのサイトを立ち上げたので、AIを活用した作成の工程や、裏側の仕組みを紹介させていただきます

マッハチームのサイト

サイトについて

コンテンツ

サイトには以下のコンテンツがあります

  • メンバー紹介
  • グロースパックの紹介
  • ブログ

このうち、ブログには、マッハチームが提供するサービスである、グロースパックのリリースノートなどを、投稿する予定です

メンバー紹介

Developers.IO から各メンバーのプロフィールページからプロフィール情報、RSSから記事の情報を取得し、メンバー紹介ページを作成しています

ブログ

マッハチームが提供するサービスであるグロースパックのリリースノートや、技術に関連しない Developers IOに投稿しないような、業界のトレンドなどを発信していく予定です

作成の過程

今回のマッハチームのサイト構築では、デザイナーなし、かつ案件の合間に作業を行う必要があったため、全ての工程でAIを活用し、高速に、工数をかけずに構築しました

以下の工程それぞれで、AIを活用しています

  1. デザイン
  2. 全体設計
  3. 実装

デザイン

筆者はバックエンド寄りのエンジニアなので、デザインの知見があまりありません。そこで Vercel 社の v0 を活用し、デザイン含めてモックの作成を行いました

参考にしたい、いくつかのサイトと、これから作成するサイトの構成、要件をプロンプトでわたし、プロトタイプを出力させました

そのままだと、「問い合わせリンク」など、要件にはないけど、LPサイトなどによくある要素も出力されるので、要素を削ったり、余計な説明を直してもらったりしました

ただ、自然言語だけで、指示を行っていくのは、微調整になればなるほど難しくなってくるので、v0上で調整するのは8割くらいの完成度にして、v0から Next.js のファイルをダウンロードし、後続の工程で微調整を行いました

全体設計

今回のサイトは

  • 運用の人員が割けない
  • とはいえ、ブログなどの動的要素がある

そのため、ベースは静的ページとしてホストし、ほとんと手間をかけずに、料金もほとんどかからないようにしました。動的部分は、更新があった時だけ、サイトをビルドし直し、デプロイするSSG方式を採用しました。ブログは執筆者も多くなく、不定期なため、ヘッドレスCMSで執筆を行い、投稿のたびにサイトをビルドしなおします。またビルドされたHTMLを単純にホストするだけなので、SEO観点でもSPAサイトより有利になります

こういった、全体の設計は筆者が行いますが、それをAI伝えるためのドキュメントの作成にAIを活用しました

筆者の経験上、AIを使った開発では以下の時につまづくことが多いです

  • インフラ周りのIaCのコードをAIに一発で出力させるのはまだ難しく、トライエラーに時間がかかってしまい、全体的に手間取ることが多い
  • すでにある程度出来上がってる(今回はv0で組み上がったファイル)ソースコードに、全く新しい機能を加えるのは手間取ることが多い

トライエラーをなん度も繰り返すことを想定して、最初に全体構成のドキュメントを出力させました

以下が、AIに drawio 形式で出力させた全体構成図です。左上の方にある処理フローが筆者がプロンプトに与えたものをAIが整形したものです

mach-branding-site-01.png

AIに構成図を出力させるのは、AIの理解が自分と一致してるのか、確認するのにも役立ちます

この構成図をもとに、次に仕様書を出力させます。小さな機能や、すでにソースに参考になる実装がある場合は、そのままプロンプトに指示するだけでも、開発を完了させれることが多いですが、今回は全く新しい機能を追加するため、トライエラー時にコンテキストを失わせないよう、また、事前にAIとの認識をソースでなく、設計レベルで合わせるために仕様書を一度出力させました

仕様書には以下の情報を与え

  • 先ほど作成した構成図
  • 使用するヘッドレスCMSのAPI仕様書

以下の指示を与え作成しました

  • 開発ステップを明示的に分割する
  • ヘッドレスCMSの認証情報は後からAPIKEYとして渡すので、セキュアに補完する箱を用意する

開発

開発は先ほど出力した仕様書に基づいて、ステップ毎に Claude Code で進めていきます。トライエラーしながら進めていき、仕様書も必要に応じて更新します

前述した通り、インフラのIaCのコードなどは、AIに全て出力させると余計に時間がかかることが多いので、8割ぐらいできてそうなコードを出力させてからは、コードを直接修正しました

また、今回はAWSアカウントは複数のサービスを提供してるアカウントなので、Route53 のレコード操作など、誤って他のレコードを削除されてしまうと困るところなどは、自分で設定を行いました

サイトの技術要素

使用技術とサービス

  • Next.js (SSG)
  • CloudFront + S3
  • microCMS

レンダリング方式はSSG

前述の通り、低コストで安定した運用をしたかったため、Next.jsのレンダリング方式としては、事前にHTML, CSS, JSをビルドしておくSSG方式を採用しました。

HTML, CSS, JS は、スタンダードな CloudFront + S3 でホスティングしています。

今回は、Next.jsで作成したサイトを、静的なファイルとしてホスティングしたいので、 next build 時の挙動を変えるためにnext.config.js のoutput に export 指定をしています

/**
 * @type {import('next').NextConfig}
 */
const nextConfig = {
  output: 'export',
  /* 省略 */
}
 
module.exports = nextConfig

参考How to create a static export of your Next.js application

Next.js を Static Export したファイルを CloudFront + S3 でホストする場合に、 index.html の省略に対応する必要があるので、以下のサイトを参考にしてください

https://dev.classmethod.jp/articles/nextjs-static-cache/

https://dev.classmethod.jp/articles/aws-cdk-cloudfront-functions-request-url-index-html-addition-in-nextjs-application/

動的コンテンツ

ブログ機能にはヘッドレスCMSであるmicroCMSをコンテンツデータの管理に使用しています。コンテンツの記述にはリッチエディタを使ってHTMLをGUIで書けるようにしてます

リッチエディタについて

また、コンテンツの更新時に、microCMSの Webhook 連携機能を使用しています。設定手順は以下を参考にしてください

【コンテンツのWebhook連携】GitHub Actionsの設定方法について

ポイントとしては以下です

  • Github Actions を用意し、 repository_dispatch イベントを登録
  • Github Actions側に microCMS のAPI Key を secret として登録する

最後に

今回は、ブランディングサイトの立ち上げを、AIを使って、案件作業の片手間で対応しました。あまり工数もかけずに(なんならこのブログを書いてる時間が一番長いです、最低限動くものという方針で進めたので、ソースコードはあまり見ずに動作だけを確認して進めました。

継続追加開発を見込まれるプロジェクトで、このようなやり方をすると、どこかのタイミングで追加改修のコストが大きすぎて、AIで省力化した労力を、後から支払うことになりそうですが、作りきりだったり、非常に小規模なものだと、AIを使えばほとんど手間をかけずに構築できそうです

この記事が誰かの参考になれば幸いです

この記事をシェアする

FacebookHatena blogX

関連記事