5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

生成AIAdvent Calendar 2024

Day 21

デザインに悩むエンジニアがAIエディタ[Cursor]で「いい感じ」のポートフォリオサイトを作成した話

Last updated at Posted at 2024-12-20

はじめに

個人開発者にとって、ポートフォリオサイトは自身のスキルや人柄を発信する大切なツールです。しかし、いざ作ろうとすると
「どんな構成にする?」「デザインは?」「なるべく手間をかけずにカッコいい見た目を実現したい」
といった課題が山ほど出てきます。

そんなときに役立つのが、最近話題のエンジニア支援ツール Cursor です。
Cursorはデザイン案や情報構造の提案からコーディング支援まで、開発プロセスを包括的にサポートしてくれます。

本記事では、React + MUIでポートフォリオサイトを構築しつつ、Cursorを活用した試行錯誤の流れをご紹介します。
「デザインセンスがない」「時間をかけずに良い感じのサイトを作りたい」そんな方の参考になれば幸いです。

※Cursorについては後述します。

この記事でやること

  • Cursorを用いてポートフォリオサイトのデザインやレイアウトを改善
  • 他の参考サイトやコードを取り込みつつ、Cursorで反映してみる

当初は自作でサクッと作ろうと思いましたが、「なんか微妙…」という状態に。
そこで、Cursorを使ったらどう変わるかを検証してみました。

Cursorとは?

Cursor は、AIによるコード補完・リファクタリング、デザイン提案などが可能なコードアシスタントツールです。

  • VSCodeベースのAI統合エディタ
  • 特定コマンドでコード生成・改善を行える

といった特長があり、エンジニアの日常開発に組み込みやすいのがポイントです。
ChatGPTやCopilotに近いコンセプトながら、よりエディタに密接に統合されているため、スムーズなワークフローが期待できます。

Cursorでできること(一例)

  • コード補完・生成
  • 既存コードへのリファクタリング提案
  • デザイン改善のアドバイス(コード、画像を与えると具体的なUI案を得られる)

実際に使ってみた流れ

1. React + MUIで最低限の構成を作成

まずは、ReactとMUIで基本的なポートフォリオレイアウトを用意します。以下はシンプルな例です。

import React from 'react';
import { Container, Typography, Box, Link } from '@mui/material';

function Portfolio() {
  return (
    <Container>
      <Box sx={{ my: 4 }}>
        <Typography variant="h4">Your Name</Typography>
        <Typography variant="body1">エンジニア / フロントエンド / React</Typography>
        <Typography variant="body1">趣味:プログラミング、読書、ゲーム</Typography>
        <Link href="https://twitter.com/your_twitter">Twitter</Link>
        <br />
        <Link href="https://qiita.com/your_qiita">Qiita</Link>
      </Box>
    </Container>
  );
}

export default Portfolio;

image.png

この段階では、ただテキストが並んでいるだけ。デザインはほぼ手つかずです。

2. Cursorで抽象的にデザインを指示してみる

ここからが本題。Cursorに「よりスタイリッシュなデザインにして」「背景にカラーグラデーションを追加して」といった要望を渡します。
CursorのComposer機能を使い、ファイルを指定してデザイン改善を指示します。
image.png

すると、Cursorは差分コードを生成。
image34.png
エディタ上でも直接確認でき、「Accept」をクリックすると、そのまま反映できます。
image35.png

エラーがあってもCursorに修正を指示すれば対応してくれます。
不足パッケージがあれば、ワンクリックでインストールできる点も便利です。
image36.png

改善後の画面はかなり洗練されました。
image.png

「おおー、わりと美しい!」となりましたが、まだ物足りない部分もあります。
もう少しアレンジしてみましょう。

3. 画像や参考サイトを与えてさらに改善

「この参考サイトみたいなデザインにして」と追加指示を出してみます。
たとえば、以下のURLを参考としてCursorにスクリーンショットを渡しました。

Cursorはこの情報を元にレイアウトを再構築。
image37.png

プロフィールの内容を微修正(Composer上での追加指示)した結果。
image38.png

最終的に、すごくしっくりくるデザインに仕上がりました。
ツイッターやQiitaリンクが消えてしまったのですが、それは後から再度追加すればOKです。

4. 動きのあるデザインを取り込む

もう一歩踏み込み、ホバー時にアニメーションがかかるデザインを取り込んでみました。

上記サイトで気に入ったデザインを見つけ、Cursorにコード例を渡します。
今回は、以下を参考にしました。

Cursorにサンプルコードを与えて適用箇所を指示すれば、簡単にホバー時アニメーションを取り込むことが可能です。

画面収録-2024-12-19-0.10.21.gif

5. 最終的な結果

数回のやり取りと試行錯誤を経て、納得のいくポートフォリオサイトが完成しました。
もちろん最後は微調整が必要ですが、「最初どうしよう…」と悩む時間は大幅に減りました。

実際の成果物はこちら →

まとめ

  • ポートフォリオサイトのデザインや構成に悩んだら、CursorのようなAIコーディングアシスタントを活用することで、初期設計のハードルが下がります
  • 要素整理、デザイン指示、画像取り込みなど、段階的な改善が手軽に行えます
  • 従来なら手間のかかった初期デザイン検討が、Cursorを活用することでスムーズに進行できます

以上、Cursorを使ったポートフォリオサイト作成プロセスの紹介でした。
ぜひCursorを試して、デザインや実装の効率アップを体感してみてください!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?