Portfolio / 制作実績

平石 悠生Yuki Hiraishi

Webアプリ、iOSアプリ、Unityゲームの個人開発とメンター活動に取り組んでいます。

(1)

自己紹介

氏名
平石 悠生
大学
慶應義塾大学 理工学部 情報工学科 3年
専門領域
Webアプリ開発、iOSアプリ開発、Unityゲーム開発
その他の制作活動
ボカロ楽曲制作(中高時代)
主な活動経験
Life is Tech! メンター、個人開発
(2)

開発経験

AI講師(学習支援Webアプリ)個人開発

2026.08.26 — 現在(本番稼働中) Cloudflare Workers / Hono / React / TypeScript / Gemini API / Git

参考書を「読むだけ」で終わってしまい理解度が測れないという課題に対し、教材テキストを貼り付けるとAIが学習に適したステップへ分解し、チャット形式で講義するWebアプリを個人開発しました。講義中に質問でき、確認テストで理解度を測り、誤答した問題だけを復習できます。

AI講師の講義画面。左に講義一覧、中央にAIとのチャット、右に進捗状況を表示している。

講義画面。左に講義一覧、中央にAIとのチャット、右に進捗状況を表示

使用技術

Cloudflare Workers / Hono / Cloudflare Workflows / Cloudflare D1 / React / Vite / TypeScript / Tailwind CSS / Gemini API

工夫した点

  • 実行基盤にCloudflare Workersを採用し、fetch()の待機時間がCPU時間に算入されない特性を利用して、AIの応答待ちが実行時間の制約にならない構成にした
  • 数分かかる講義生成をCloudflare Workflowsの非同期ジョブに切り出し、リクエストの生存期間と切り離して進捗を追えるようにした
  • 受講中の費用が「教材全文を毎ターン読む」部分に支配されると分析した上でモデルを選定し、コンテキストキャッシュを効かせて入力トークンの9割以上をキャッシュから読ませ、講義1件あたりの費用を他社構成の約1/5に抑えた
  • AIの応答をNDJSONでストリーミングし、生成完了を待たずに表示を始めることで待ち時間の体感を短縮した
  • 確認テストの設問を各ステップと1対1に対応させず、複数ステップを横断しないと解けない設問を混ぜることで、暗記では解けない測定を実現した

難しかった点

  • 費用・生成速度・出力品質がトレードオフの関係にあり、実測値を取りながら基盤とモデルの構成を判断する必要があったこと
  • 初回トークンの到達が4.1秒となり、自ら設定した3秒以内という目標を達成できていないこと(改善を継続中)

成長したこと

動くものを作るだけでなく、実行基盤やAIモデルの特性を費用・応答速度という定量的な指標で比較し、根拠を持って技術選定を行う力を養いました。また、要件定義書に設計判断を記録しながら実装を進め、個人開発を本番運用まで到達させる力を身につけました。

iOSアプリ個人開発

2026.02 — 2026.03 Swift / SwiftUI / Firebase / Xcode / Git

習慣継続において「個人の意思だけでは継続が難しい」という課題に対し、ユーザー同士でルームを作成し、達成状況を共有することで継続を促すiOSアプリを個人開発しました。

アプリ紹介動画 https://youtu.be/9xsQYMTqJWE

使用技術

SwiftUI / Firebase Firestore / Firebase Authentication / Swift Concurrency

工夫した点

  • View から Firestore を直接触らせず、認証・ルーム・ミッション・フレンド・進捗といった役割ごとにサービスクラスを分ける
  • NavigationStackのpathをenum型で管理し、画面遷移を状態として一元制御
  • カレンダーUIを既存コンポーネントに頼らず自作

難しかった点

  • 途中でデータ構造を変えた際に発生したバグを修正したこと
  • Apple Developer Program まわりの理解

成長したこと

機能を実装するだけでなく、ユーザーの課題を分析し、行動を変える機能を考える力、また、直感的な操作ができるUIを考える力を養いました。

Unityゲーム個人開発

2025.06 — 2025.07 Unity / C# / Git

警備員の目を避けながら館内の宝石を盗むステルス型3DゲームをUnity・C#で個人開発しました。

ゲームプレイ動画 https://youtu.be/u-CJaXyWhtQ

使用技術

Unity / C# / NavMeshAgent / Animator / Selective Bloom / PlayerPrefs

工夫した点

  • NavMeshAgentを用いた警備員AIの巡回・追跡ロジックを実装
  • SerializeFieldを活用し、パラメータをインスペクター上で調整可能にすることで拡張性を確保

難しかった点

UI実装においてオブジェクトのactiveSelfの管理が複雑化してバグが頻発したこと

成長したこと

ゲームの企画から実装において、ゲームの面白さを構成する操作性・成長性・リスクリターンなどを要素分解して考え、ユーザーの体験を考えながら制作する力を養いました。

Webサイト個人開発

2026.06.11 — 現在(開発中) Next.js / TypeScript / Tailwind CSS / Git

養蜂学生団体「伝蜂」のホームページを、Next.js・TypeScript・Tailwind CSSで制作しています(現在開発中)。

使用技術

Next.js / TypeScript / Tailwind CSS

(3)

職務経験

ライフイズテック株式会社

2025.04 — 現在 メンター / Unityゲームプログラミングコース

Unityコースのメンターとして、4〜5日間のプログラミングキャンプ形式で中高生のゲーム開発をサポートしています。

  • Unity
  • C#
  • Slack
  • Notion
  • Figma
  • FaceBook

担当規模

1班5〜6名の生徒を担当

やったこと

  • プログラミング未経験の中高生も含め、Unity・C#を用いたゲーム開発を指導
  • 最終日に全員がオリジナルゲームを参加者全体の前で発表できるよう、班全体をタスクマネジメント
  • キャンプ開始時から中高生の緊張をほぐし、班内の関係構築を促すチームビルディングを実施
  • 班に馴染めていない中高生や関係構築が弱い中高生を個別にフォロー
  • 謎解きなど、開発以外のアクティビティを通して、中高生同士が仲良くなれるようにフォロー
  • 運営へのタイムスケジュールに沿った班の進捗報告を徹底

成長したこと

技術指導だけでなく、状況判断・タスクマネジメント・コミュニケーションなどの力を養いました。