このポートフォリオサイトのブログ機能をついに公開しました! 記念すべき記事として、今回はこのホームページをどのようにして「1日で完成させたのか」について、その実装やアーキテクチャー、プロセスをシェアしたいと思います。
最近はAIにざっくりとした指示を出してコードを書かせる「Vibe Coding」が流行っていますが、私自身UI/UXに関しては、普通にAIでコードを生成させてしまうと「よくある・ありふれたUI」になってしまうことが多いと感じていました。
それを防ぎ、リッチで洗練されたUI/UXを実現するために、今回はプロセスを工夫しました。
事前の綿密なディープリサーチ 実装に入る前に、まずはGEMINIを使ったディープリサーチを行い、最新のWebデザインのトレンドやUI/UXのベストプラクティスを徹底的に調査しました。
汎用的なAgent Skillsの作成と活用
リサーチで得られた知見を単なるプロンプトにするだけでなく、~/.claude/ 配下に「Web開発」用の体系的な「Agent Skills」としてドキュメント化し、それらを順に使って実装を進めるワークフローを構築しました。このスキル群は今回限りの使い捨てではなく、今後も別の案件で汎用的に再利用できるように設計しています。
具体的には、以下のスキルを連携させて処理を実行しました:
ui-ux-pro-max: デザインシステムの生成を担当。サイト全体のカラーパレット、フォントペアリング、コンポーネントの基本スタイルを決定。create-high-impact-landing-page: LPとしての設計・実装を担当。ペルソナ分析、コンテンツのセクション構造、Framer Motionを用いたアニメーションの実装。nextjs-seo-optimization: SEO対策の実装を担当。メタデータの階層化、構造化データの埋め込み、OG画像の生成など、Next.jsに適した高度なテクニカルSEOを施しました。web-design-guidelines: 最終的なUI/UXの設計やアクセシビリティの監査、ベストプラクティスとの整合性チェック。明示的な指示 「スキルをベースにリッチなUI/UXにすること」「ダークモードやグラスモーフィズムを取り入れること」など、ただ動くものを作るのではなく、体験価値を高めるための制約をAIに明示しました。
このサイトはシンプルながらも最新の技術スタックを用いて、パフォーマンスと表現力を両立させています。
gray-matter を用いて、content/posts 配下のMarkdownファイルを直接解析。TypeScriptと連携して完全に型安全な状態でレンダリングしており、日英のi18n(多言語対応)にもスケールできるディレクトリ構造を取っています。AIはマークアップやロジックを書くのは得意ですが、複雑な手書きアニメーションなどを意図通りに出力するのは困難だと言われます。
しかし今回は、驚くべきことにサイトの背景やセクションの区切りなどに使われているリッチな線画や曲線のデコレーション(SVG dividers)のほとんどはAIが自律的に生成してくれました。
実は、私が個人的にデザインツールを使って手作業で作成したSVGは、トップページにある「NOZOMI」というテキストロゴの部分だけです。それ以外の部分はすべてAgent Skillsの力を借りたAIが、全体の世界観に合わせてSVGコンポーネントとアニメーションロジックを見事に作り上げています。人間は「キーとなるアセット」用意に徹し、その他の装飾やアニメーション実装はAIに任せるといった分担が非常にスムーズに機能しました。
もちろん、最初のワンショットの指示だけで100%思い通りの完璧なものができたわけではありません。 リッチな体験を実現するためには、要所で細かなチューニングを行いました。
結果として、AIによる爆発的なコーディングスピードの恩恵を受けながらも、デザインの手触りや独自性を失わない自分らしいサイトを丸一日で完成させることができました。
今後は、今回作成した汎用のAgent Skillsをさらにアップデートしつつ、継続的にこのサイト自身も進化させていく予定です。