2026.07.12(日) / 13:26

My Portfolioの開発記録

ID
39965
Published
2026-07-12 13:26
Modified
2026-07-12 15:22
Author
khiro
Categories
デフォルト

My Portfolioは、単に一つのサイトを作ったというより、目的を見直しながら何度も構成を削り、現在の形に近づけてきたプロジェクトです。

2026年5月28日ごろに開発を始め、2026年6月3日にRenderで初めて公開しました。

その後も、機能追加、デザイン変更、目的の再定義、コンテンツの拡充を続けています。

公開URL : https://freelance-blog.onrender.com

GitHub : https://github.com/ki-hi-ro/my-portfolio

開発の流れ

1. 2026年5月28日:開発開始

FastAPIを使い、制作物・技術ブログ・職務経歴などを管理するポートフォリオサイトとして開発を始めました。

主な技術は以下です。

  • FastAPI
  • SQLAlchemy
  • Jinja2
  • SQLite
  • HTML / CSS / JavaScript
  • Markdown
  • WordPress REST API

当初は、制作物や記事を登録・編集・削除できる、管理機能を持ったWebアプリとしての性格が強かったです。

2. 2026年6月3日:Renderで初回公開

開発開始から約1週間後の2026年6月3日、Renderを利用してMy Portfolioを初めて公開しました。

すべてを完成させてから公開したのではなく、まず外部からアクセスできる状態を作り、その後も改善を続ける形を選びました。

この時点では基本的なページや機能を公開し、実際の本番環境で表示や動作を確認しながら修正を進めていきました。

当時のコミット : https://github.com/ki-hi-ro/my-portfolio/commit/7d20f974f2fb0d4a38b54f1b30fa83f8e6cc1739

3. 6月前半:営業資料としての位置づけを明確化

6月の最重要目標を、

My Portfolioを完成させる

と定めました。

制作物、技術ブログ、職務経歴を一つにまとめ、案件応募や面談で使用できる営業資料にする方向へ進めました。

この時期に、以下のページを整えていきました。

  • トップページ
  • 制作物一覧・詳細
  • 技術ブログ一覧・詳細
  • 職務経歴
  • 管理画面

単に情報を登録するだけではなく、第三者が見たときに、自分がこれまで何をしてきたのかが分かる構成を目指しました。

2026年6月12日 : WordPressとの同期機能を開発

WordPressに蓄積してきた技術記事を、My Portfolioへ取り込む仕組みを作りました。

処理の流れは以下です。

Googleスプレッドシートから記事URLを取得
→ URLからslugを抽出
→ WordPress REST APIで記事情報を取得
→ 取得したデータを整形
→ My Portfolioのデータベースへ新規登録・更新・削除

My Portfolio側にすでに存在する記事は更新し、存在しない記事は新規登録します。

また、WordPress側から削除された記事は、My Portfolio側のデータベースからも削除するようにしました。

ローカル環境では「WordPress同期」ボタンを表示し、本番環境では誤操作を防ぐため非表示にしています。

関連記事:

「WordPressの記事をREST APIで取得してポートフォリオへ反映する仕組みについて解説します」

4. 6月後半:完成基準を見直して公開

6月3日の初回公開後も、My Portfolioの改善を続けました。

当初は「画面が動くか」「必要な機能が存在するか」を中心に考えていましたが、次第に、

第三者に、自分の経験を説明できる状態になっているか

を完成基準として考えるようになりました。

現状分析、改善項目の洗い出し、優先順位付け、設計、実装、テスト、本番反映という流れでサイトを整えていきました。

本番環境に登録されているデータを保持しながら、ローカル環境で変更したデザインや機能だけを反映する運用も行いました。

この時期は、単に機能を追加するだけでなく、不要な要素を減らし、何を伝えるサイトなのかを明確にする作業が中心になりました。

6月19日 : 待ち時間をなくした

発注者が待ち時間なくサイトを確認できるよう、RenderのWebサービスを無料インスタンスから月額7ドルのStarterへ変更しました。

無料環境では一定時間アクセスがないとスリープし、初回表示まで待ち時間が発生していました。営業資料として利用する以上、閲覧者の離脱を防ぐことを優先し、継続的に起動する環境を整えました。

この対応により、My Portfolioをいつでもすぐに閲覧できる状態にしました。

6. 7月前半:機能中心から「事実のデータベース」へ転換

7月に入り、My Portfolioの役割をあらためて見直しました。

それまでは、制作物ページ、ブログページ、職務経歴ページなど、それぞれの機能やページを作り込むことに意識が向いていました。

しかし、本当に伝えたいことは、

  • これまで何をしてきたのか
  • 何を作ってきたのか
  • 何を学んできたのか
  • どのような業務を経験してきたのか

という、これまで積み上げてきた事実でした。

そこで、My Portfolioを自己紹介や自己PRを中心としたサイトではなく、制作物、技術記事、職務経歴、学習記録などをまとめた「事実のデータベース」として再定義しました。

情報を良く見せることよりも、残っている記録を整理し、ありのままに提示することを重視するようになりました。

7. デザインを削り、現在のシンプルな形へ

My Portfolioの目的を再定義したことで、デザインも大きく変更しました。

装飾や説明を増やすのではなく、一覧性を優先し、実績を表形式で表示する構成にしました。

基本となる項目は以下です。

時期|カテゴリー|タイトル|詳細

制作物、技術記事、職務経歴、学習記録など、種類の異なる情報を同じ形式で時系列に並べます。

また、過去のデータを自動的にすべて掲載するのではなく、自分で内容を確認し、掲載すると判断したものだけを一つずつ追加する方針にしました。

これにより、情報量を増やしながらも、自分が説明できない内容や不要な内容が混ざらないようにしています。

現在の状態

My Portfolioはすでに公開していますが、開発は継続中です。

現在は、サイトの基本的な構造やデザインを大きく作り直す段階から、コンテンツを一つずつ追加していく段階へ移っています。

これまでの流れを大まかに表すと、以下のようになります。

構想
→ 設計・開発
→ 2026年6月3日に初回公開
→ 機能追加・不具合修正
→ WordPress連携
→ 完成基準の見直し
→ デザイン変更
→ 目的の再定義
→ コンテンツ拡充

完成してから公開したのではなく、まず公開し、実際に動かしながら目的や構成を見直してきました。