Mindset

About Me.

「とりあえず動く」で終わらせず、インフラの安定性・セキュリティ・本番環境でのエラー解決まで泥臭くやり抜く開発スタイルを持っています。AIを技術顧問として使いこなしながら、未知の技術を自走でキャッチアップし、プロダクトを完遂する力が強みです。

Autonomy & Catch-up

自走力 & キャッチアップ力

未知の課題に直面したとき、公式ドキュメントとAIを技術顧問として駆使し、自力で突破口を切り開きます。「教わるのを待つ」ではなく「自走して完遂する」エンジニアです。

AIを道具として使いこなし、ゼロから技術をキャッチアップ。

Follow-through

完遂力

「とりあえず動く」状態を本番レベルに引き上げることに価値があると考えています。タイムアウト・セキュリティホール・コールドスタードなど、泥臭い問題を一つひとつ解決してリリースまで完遂します。

動いた、ではなく「安定稼働した」まで責任を持つ。

AI-Paired Engineering

AI協働開発

AIは「答えを出す機械」ではなく、「技術的な壁打ち相手」として活用します。設計の選択肢を出させ、トレードオフを議論し、最終判断は自分で行う。AIを使いこなす、次世代の開発スタイルを体現します。

AIとの協働で、開発スピードと実装品質を同時に高める。

Qualification

  • 基本情報技術者試験
  • Python3 エンジニア認定基礎試験
Backend Developer
見えない部分を整え、
システムの
土台を支える。

ユーザーの目に触れない裏側の仕組みを丁寧に構築。サービスが滞りなく動き続けるための「当たり前」を一つずつ積み上げていく実装を心がけています。

Projects

Selected
Works.

チュートリアルレベルにとどまらず、実運用を見据えたアーキテクチャ設計と 課題解決を意識して開発した作品を紹介します。

EmoReader

YouTubeコメントの「空気」を読むAIアプリ

PythonFastAPIPydantic V2Tailwind CSSSupabasePostgreSQL+6

EmoReader

YouTube動画の膨大なコメントをAI(DeBERTa / Gemini)が分析し、ポジティブ・ネガティブの感情判定や内容の要約をリアルタイムで行うフルスタックWebアプリケーション。

Solved Problem

大量コメント取得によるAPIクォータ消費の抑制と、重い推論処理によるタイムアウト問題を、自作の非同期ジョブ管理システムとSSE(Server-Sent Events)を用いた進捗通知によって解決。

Key Features

  • YouTube URL入力だけで感情分析・要約を自動実行
  • DeBERTaによるコメント感情分析(ポジティブ/ネガティブ分類)
  • Gemini APIによるコメント内容の自然言語要約
  • SSEによるリアルタイム進捗通知でUX向上

Outcome

個人開発として独自ドメイン(emo-reader.jp)で本番公開。Cloud Run × Supabase のサーバーレス構成でインフラコストを月数百円台に抑えながら安定稼働を実現。

01

Yahooスクレイピング

中古価格調査を自動化するPythonツール

PythonScrapingData Visualization

Yahooスクレイピング

Yahooオークションの過去販売情報を取得し、価格の傾向を可視化するツールです。

Solved Problem

価格を調べる手間の削減と、適正な価格設定の支援を目指しました。

Key Features

  • 商品名での検索機能
  • 過去180日分の売上平均と中央値の算出
  • 売値推移のグラフ表示

Outcome

価格調査の手間を手軽な検索のみに削減。

02

Sidebar Notes

URLごとにメモを保存できるChromeサイドパネル拡張

Chrome Extensions (MV3)JavaScriptIndexedDBDOMPurifyNode.jsPuppeteer

Sidebar Notes

ブラウザのサイドパネルで、開いているページ(URL)ごとにメモを作成・検索できるChrome拡張です。メモは端末内(IndexedDB)に保存され、外部サーバーへ送信しません(同期もしません)。

Solved Problem

URL単位のメモを「確実に」自動保存・復元しつつ、リッチテキスト/貼り付け/スクリーンショット等の入力経路が増えても破綻しないデータ設計と安全性(サニタイズ)を両立すること。

Key Features

  • URLごとのメモ作成・編集・検索(リッチテキスト)
  • 自動保存(入力停止後 / パネル非表示時)+タブ切替追従(任意権限)
  • メモ一覧(すべて / 直近 / サイト別)+ごみ箱(14日で自動整理)
  • スクリーンショット(範囲選択→メモへ貼り付け、任意権限)

Outcome

「ページごとのメモ」をブラウザ内で完結。検索・フィルタ・ごみ箱・エクスポートなど、日常運用で困りやすい周辺機能まで含めて作り込みました。

03

Engineering Approach

課題解決の
カタログ。

「動いた」で終わらせず、本番環境で直面したインフラ・セキュリティ・UXの 課題を AIとの壁打ちで突破したプロセスをまとめています。

各カードの「AIとの壁打ち」が、私の開発スタンスを最も体現している部分です。

6 items
インフラの安定性

Cloud Runタイムアウト問題を自作ジョブキューで解決

直面した課題

Cloud Run のデフォルトタイムアウト(60秒)内に DeBERTa の推論処理が完了せず、502エラーが頻発。同期的なリクエスト処理では根本解決できなかった。

AIとの壁打ち

AIと壁打ちしながら「そもそもリクエストと推論を切り離せばよい」という発想を得た。ジョブキューパターンを調査し、Supabase の jobs テーブルに処理を登録→非同期ワーカーが消化する構成を設計。

解決策

リクエスト受信時にジョブをDBに登録してすぐ202を返し、別コンテナのワーカーが非同期で推論を実行。結果はSSEでクライアントにプッシュ通知。タイムアウトエラーをゼロにした。

Cloud RunFastAPI非同期処理
Qiitaで読む
インフラの安定性

Cloud Schedulerによるコールドスタート対策(Keep Warm)

直面した課題

Cloud Run はアクセスがない時間帯にコンテナをシャットダウンする。特に推論コンテナは起動に数秒かかり、最初のユーザーが長い待ち時間を経験していた。

AIとの壁打ち

AIに「サーバーレスのコールドスタート問題の一般的な解決策」を聞き、Keep Warm パターンを発見。Cloud Scheduler で定期的にヘルスチェックリクエストを送る構成を検討。

解決策

Cloud Scheduler を使い、5分おきにコンテナへダミーのpingを送信。コンテナを常時ウォームに保つことで、初回リクエストの応答時間を90%削減。

Cloud RunCloud Schedulerコールドスタート
Qiitaで読む
セキュリティと認証

Secret Manager+IAM認証によるセキュアな構成

直面した課題

APIキーや DB接続文字列を環境変数として直書きすると、Dockerイメージに機密情報が含まれるリスク。また Cloud Run サービス間の通信を無認証にするのはセキュリティ上問題だった。

AIとの壁打ち

AIと「GCPでの機密情報管理のベストプラクティス」を壁打ち。Secret Manager での集中管理とサービスアカウントによるIAM認証の組み合わせを学び、実装手順を具体化した。

解決策

全機密情報を Secret Manager に格納し、Cloud Run の実行時に環境変数として注入。サービス間通信はサービスアカウントトークンで認証し、403エラーをゼロにした。

Secret ManagerIAMCloud Run
Qiitaで読む
UXと非同期処理

SSEによる堅牢な非同期進捗通知

直面した課題

感情分析には数十秒かかる。処理中にローディングスピナーだけ表示しても離脱率が高く、「本当に動いているか」ユーザーが不安になるUX課題があった。

AIとの壁打ち

WebSocket vs SSE のトレードオフをAIと議論。一方向通信で十分・Cloud Run との親和性が高い・実装コストが低いという理由でSSEを選択した。

解決策

FastAPIの StreamingResponse でSSEエンドポイントを実装。「解析開始→コメント収集中→感情分析中→要約中→完了」のステップをリアルタイムで通知し、ユーザーの安心感と完了率を向上。

SSEFastAPIStreamingResponse
Qiitaで読む
開発基盤

loguruによる実運用を想定したログ基盤構築

直面した課題

本番環境でエラーが発生しても、print文デバッグでは再現が困難。どのリクエストで・どのステップで・何が起きたかをトレースできるログ基盤が必要だった。

AIとの壁打ち

AIに「本番FastAPIアプリのロギングベストプラクティス」を質問。loguru の構造化ログ出力と、Cloud Logging との連携方法を調査・検証した。

解決策

loguruで構造化ログを出力し、Cloud Monitoring のログビューアで可視化。エラー発生時にリクエストIDでトレースできる仕組みを整備し、本番障害の原因特定時間を大幅短縮。

loguruPythonCloud Monitoring
Qiitaで読む
開発基盤

WSL2+Dockerの爆速化設定による開発体験の改善

直面した課題

Windows上でDockerを使うと、デフォルト設定ではファイルI/Oが極端に遅く、コンテナのビルドや起動に時間がかかる開発体験の悪さが課題だった。

AIとの壁打ち

AIと「WSL2のDockerパフォーマンス問題の根本原因」を調査。ファイルシステムの境界(Windows⇔Linux)をまたぐことが原因と特定し、プロジェクトをWSL2内ファイルシステムに置く解決策を導出。

解決策

.wslconfig でメモリ・CPU割り当てを最適化し、プロジェクトを /home/ 以下に移動。ビルド時間が従来比で約60%短縮し、開発サイクルを高速化。

WSL2DockerDev Containers

Technical Skills

Skills.

ポートフォリオ開発を通じて実際に触れた技術と、その活用内容をまとめました。未知の技術領域であっても、公式ドキュメントやAIの支援を頼りに必要な知識を自らキャッチアップし、「動く形」へと組み上げるプロセスを経験しています。

Python / FastAPI

API開発と運用を想定した実装

FastAPIとPydantic V2を用いた型安全なAPI開発に加え、loguruによるログ設計やasyncioでの非同期処理など、デプロイ後の運用を意識した実装を心がけています。また、パッケージ管理にはuvを採用し、pyproject.tomlによるモダンな環境構築を行っています。

FastAPIPydantic V2loguruasyncioUvicornuv

GCP インフラ

コストとセキュリティを意識したサーバーレス構成

Cloud Runを用いたコンテナ運用を中心に、Secret Managerでの秘匿情報管理やIAMによる適切な権限設定など、最低限のセキュリティと運用コストを考慮したインフラ構築に取り組んでいます。

Cloud RunSecret ManagerCloud SchedulerCloud StorageCloud Monitoring

AI / ML 活用

プロダクトへのAI・MLモデルの統合

感情分析タスクに向けたDeBERTa等のファインチューニングからGemini APIの組み込みまでを幅広く経験しました。それらのAI技術を単なるローカル環境での検証で終わらせず、Webアプリケーションの機能としてシステムに統合し、実稼働させる一連のプロセスに注力しています。

DeBERTaGemini APIHugging Faceプロンプトエンジニアリング

データベース / BaaS

Supabaseを用いたデータ連携と基本操作の実装

BaaSであるSupabase(PostgreSQL)を利用し、アプリケーションの要となるデータの作成・読み取り・更新・削除(CRUD操作)を実装しました。複雑なテーブル設計についてはAIの提案を活用してベストプラクティスを取り入れつつ、自身はバックエンド(FastAPI)から安全かつ正確にデータを扱うためのAPI連携と処理フローの構築に注力しました。

SupabasePostgreSQLSQL

開発環境・ツール

再現性を重視したコンテナ開発環境

WSL2とDocker、Dev Containersを活用し、環境に依存しない開発基盤を構築しています。Git/GitHubでのバージョン管理や、GitHub Actionsを通じた自動化・開発効率化にも取り組んでいます。

WSL2DockerDev ContainersGitGitHub Actions

Let's
Connect.

ご覧いただきありがとうございます。

© 2026 yuurei. All rights reserved.