育休中エンジニアの実録

Claude Codeとゼロから作る
ポートフォリオサイト

エンジニアが育休中にやったこと

2026年3月 読了 約8分 エンジニア・個人サイトを作りたい方向け

この記事でわかること

01 / Why

なぜ育休中にポートフォリオを作ったか

きっかけは3つ重なった。

ひとつは自分の経歴を整理して「見せられる場所」を作りたかったこと。IT歴13年・プロジェクトリーダーという経験があっても、それを伝える場所がなかった。自分のサイトがあれば、必要なときにURLを渡せる。

もうひとつはリベシティでの名刺。加入したコミュニティで「どんな人か」を伝えるとき、テキストで自己紹介するより、サイトのURLを渡した方が伝わる情報量が段違いだ。

最後は育休という時間。4人目の子ども(双子)が生まれてから育休に入った。新生児の世話は大変だが、断片的にまとまった時間が取れる。その時間で「形になるもの」を作りたかった。

この記事を読む前に

この記事はポートフォリオサイト(あなたが今見ているこのサイト)を作った実録です。「Claude Codeで実際に何ができるのか」を具体例つきで伝えることが目的なので、成功体験だけでなく失敗や手戻りも正直に書きます。

02 / What is Claude Code

Claude Code とは何か(1分で理解する)

普通の AI チャット

質問に答えてくれる。コードも書いてくれる。でも実行はしない。ファイルも触らない。自分でコピペする必要がある。

Claude Code

ターミナルで動くAI。コードを書くだけでなく、ファイルを読み・書き・コマンドを実行する。「このページを作って」と言うと本当に作ってくれる。

一言で言えば「ターミナルの中で動く、コードが書けて実行もできるAIアシスタント」だ。

AIエージェントの分類で言うと「自律性レベル3〜4」に相当する。指示を与えれば複数ファイルをまたいで考え、自分でコマンドを実行しながら実装を進める。詳しい解説はAIエージェントとは何かに書いたので、気になる方はそちらも。

03 / Context Design

いちばん大事だった「コンテキスト設計」

最初に一番時間をかけたのは、コードを書くことではなく「AIに何を渡すか」の設計だった。

ポートフォリオサイトを作るには、まず「自分の情報」が必要だ。経歴・スキル・実績・プロフィール。これをAIに毎回説明していたら効率が悪いし、ページごとに情報がブレる。

解決策:.docs/ フォルダに素材を集約する

# gitignore対象・非公開素材

.docs/

├── profile.md  ← 自己紹介・キャッチコピー・設計哲学

├── career.json ← キャリア3期間の構造化データ

├── skills.json ← 技術スキル・資格・対応領域

└── site-config.json ← サイト設定・SNSリンク等

ここにデータを置いておけば、「About ページを作って」と頼むだけで Claude Code が .docs/ を読んで内容を反映してくれる。情報の一元管理が、ページ間の一貫性を保つ鍵だった。

もうひとつの鍵:CLAUDE.md にルールを書く

Claude Code はプロジェクトルートの CLAUDE.md を毎回自動で読む。ここに「会社名を出さない」「地域名を出さない」「スタイルはTailwindで書く」といったルールを書いておくと、指示のたびにルールを説明しなくて済む。

# CLAUDE.md(抜粋)

## 絶対ルール(違反厳禁)

1. 会社の固有名詞(社名)を出力に含めない

2. 地域を特定できる固有名詞を出力に含めない

3. 具体的な年収・資産額を出力に含めない

...

ポイント

「AIに何をやらせるか」の前に「AIに何を渡すか・何を禁じるか」を設計する。これがあるとないとでは、作業効率と出力品質が全然違う。

04 / Development

実際の開発の流れ——うまくいったこと・失敗したこと

設計が終わったら、あとは Claude Code に指示を出しながら実装を進める。順調にいったことと、そうでなかったことを正直に書く。

うまくいったこと

Web Components で共通パーツを作った

「20ページ以上あるのにナビゲーションを全ページに書くのは非効率」と相談したら、Web Components(<site-nav> / <site-footer>)を提案してきた。これで assets/components.js 1ファイルを修正するだけで全ページに反映される。

.docs/ のデータを読んで正確に反映してくれる

「About ページを作って」と言うだけで、skills.json・career.json・profile.md を自分で読んで内容を反映してくれる。指示が短くても、質が高い。

「動くものを見せてから改善」のサイクルが速い

デザインの好みは言葉では伝えにくい。でも動いているものを見て「このセクションをもっとコンパクトに」「色味がちょっと違う」と言えば、すぐ直る。

失敗・手戻りしたこと

最初は素材なしで頼んで、架空の情報が生成された

.docs/ を整備する前に「とりあえず About ページを」と頼んだら、AIが適当な情報を補完してしまった。素材の準備が先、実装は後——この順番が大事だと気づいた。

データの精度が出力の精度に直結する

skills.json に「PostgreSQL:1年」と書いていたら、About ページにも「1年」と表示された。実際は4年だった。AIは忠実に素材を反映するので、素材が間違っていれば出力も間違う。ゴミを入れればゴミが出る(Garbage in, garbage out)。

指示があいまいだと意図と違うものができる

「もっとかっこよくして」という指示では何も伝わらない。「スキルバーをプログレスバーからタグ一覧に変えて」のように、変更箇所・変更内容・理由をセットで伝えると一発で通る。

05 / Result

できあがったもの

20+

総ページ数

9

Lab 記事数

13

整理した資格数

4

実績プロジェクト

インフラは AWS S3 + CloudFront で静的ホスティング。デザインは Tailwind CSS、アイコンは Lucide、ナビゲーション共通化は Web Components。すべて CDN 読み込みで、ビルドツール不要のシンプルな構成だ。

育休中の空き時間で数週間かけて作った。4人の子の世話をしながらなので、連続した開発時間は取れない。でも 「30分あれば1ページ進められる」 のが Claude Code の強みだった。

副産物:自分のキャリアが整理された

サイトを作る過程で、スキルデータや職歴データを JSON で整理した。「PHP を7年使ってきた」という漠然とした認識が、「CakePHP のカスタマイズが可能、設計・実装・レビューが可能」という言語化された情報になった。自分のキャリアを棚卸しするという意味で、意外とこれが一番収穫だったかもしれない。

06 / Learnings

やってみてわかった3つのこと

Learning 01

「AIへの指示」は「設計の言語化」そのものだ

あいまいな指示はあいまいな結果を生む。「何を作りたいか」「どんなルールを守るか」「何を出力してはいけないか」——これを言語化する力が問われる。
これはエンジニアが日常的にやっている要件定義・仕様書作成とまったく同じスキルだ。つまり、エンジニアほど Claude Code を使いこなしやすいかもしれない。

Learning 02

AI は「補完」ではなく「実装者」として使う方が速い

「コードのアドバイスをもらう」ではなく、「実装を全部任せる」という使い方に切り替えたとき、スピードが一段上がった。
自分がやることは「設計の判断」と「品質の確認」。手を動かす部分はAIに委譲する——この役割分担が決まってから、育休の隙間時間でも十分進められるようになった。

Learning 03

「動くものを見てから考える」が最速だった

デザインの好みは、頭の中では曖昧なままでいい。まず動くものを作ってもらって、見てから「ここが違う」と言う方が圧倒的に速い。
アジャイル開発の「動くソフトウェアを優先する」という考え方は、AI 活用でもそのまま通用した。

07 / Conclusion

まとめと、次にやること

「育休中にポートフォリオを作る」という目標は達成できた。自分の経歴を整理する場として、リベシティの名刺として、どちらの目的にも使える形になった。

このプロジェクトは、ポートフォリオを作った話であると同時に、「AIと協業する実験」の記録でもある。Claude Code という道具の使い方を学びながら、自分のキャリアを整理するという、一石二鳥の体験だった。

エンジニアでなくても、「自分の言葉で設計を伝える能力」があれば、同じことができる時代になってきていると感じた。逆に言えば、「何を作りたいか」を言語化できない人にとっては、AIは道具にならない。

次にやること

このサイト自体がポートフォリオです。
About にキャリア・スキル・実績をまとめています。

関連する読み物