tetratensor (Kazuma Mori) の職務経歴、スキルシートです。
| key | value |
|---|---|
| Name | Kazuma Mori |
| Location | Tsushima, Aichi, Japan |
| GitHub | tetratensor |
- 対象のソフトウェアが解決しようとしている問題領域を理解して、ビジネス状況に合わせた技術選定を行う事
- テストコードや設計手法を工夫して、保守性・拡張性の高いシステムを構築する事
- 未知の技術でも比較的短い期間でキャッチアップを行う事
- アジャイル開発(スクラム)を用いたチームビルディング
- フロントエンドからインフラ構築も含めたバックエンドまで Web 開発の一通りの工程を 1 人でこなす事が出来る事
- React Native (Expo) を使ったクロスプラットフォームモバイル開発
- 相手に伝わりやすい非同期コニュニケーションを行う事が出来て、コミュニケーションの仕組みを構築出来る
- 応用 AI: LLM アプリ、RAG、AI エージェント、ツール使用/関数呼び出し、構造化出力
- リアルタイム・マルチモーダル UX: ストリーミング UI、TTS/STT、低レイテンシパイプライン、エッジ推論
過去には既存システムの問題点を解決したリプレイスや新規開発案件を数多く対応しました。
現在の状況を見て最適なシステム構成を提案・実行させて頂きます。
またチームや組織の心理的な安全性を再重視しており、相手によって態度を変えない、フラットで丁寧なコミュニケーションを取る事を常に意識しております。
最近は自らをプロダクトエンジニアと名乗っています。
プロダクトを第一に考え、プロダクトに最適な技術選定や問題解決手段を選択するように心がけています。
- Web デザイン(CSS は出来ますが UX 等を考えた UI を作るスキルはありません)
- 背景・目的が不明確で言われた事だけをやる開発スタイル
フロントエンド、バックエンド、インフラ(クラウド)でそれぞれどのような事を意識しているかを記載しておきます。
最近は Next.js、React、React Native (Expo) をメインに扱っていますので、これらの技術を使った際の話を記載させて頂きます。
- AI 向けのリアルタイム・マルチモーダル UI: WebRTC、SSE/ストリーミング応答、音声キャプチャ/再生、転写レンダリング
- UX に組み込まれた安全性/ガードレール(免責事項、PII 編集プロンプト、フィードバックループ)
- Props にのみ依存する純粋な Component と副作用を持つ部分を明確に分ける事を意識しています。
テストコードに関しては以下の 2 つのテストにリソースを投入しています。
- Storybook を流用したテストコード
- E2E テスト(フロントエンドの動作担保を行う為には、やはり E2E テストが必須)
スナップショットテストや作成した関数に対する単体テスト等も場合によっては実装します。
Storybook に関しては、その Component が持つ振る舞いを Storybook 上で全て表現しています。
また Storybook を静的 Build して、生成された HTML を閲覧出来る状態を作成しています。 最近だと Chromatic というサービスを利用しています。
https://github.com/tetratensor/Timelogger-Frontend
これを行う事で UI のレビューが効率よく実行出来るようになります。
これは過去に関わった現場がやっていたのを真似しているのですが、UI に関するコミュニケーションを非常に円滑にしてくれるので、少々時間はかかりますが、行う価値がある方法だと思っています。
Cloudflare Workers や Vercel Edge Runtime 等の 非 Node.js 環境でも移植できるような設計を意識しています。
最近では React Server Components が Next.js によって利用可能になったので、Server Components と ClientComponent の使い分けを意識するようになりました。
AI 推論のためのストリーミングファースト UI も設計しています(段階的レンダリング、楽観的 UI)。
最近は生成 AI 関連の開発を中心に活動しているのもあって Python をメインに書いていますので、その前提で記載させて頂きます。
あまり重厚なフレームワークは使わずに、FastAPI などの軽量フレームワークで小さく始める事をしています。
とは言え、テストを書きやすい構造にしておかないと後々プロジェクトが肥大化した際に困る事になるので、レイヤードアーキテクチャを採用して DDD ライクな設計にする事が多いです。
- アプリケーション/ユースケース層を必ずテストする
- DB テストでは重いモックよりも実際のテスト DB を好む(コードはモック可能にしつつ)。実際のデータ永続化の検証はバックエンド API にとって重要なファクター
- DB テストが遅くなるので、テスト実行のパフォーマンス改善も実施
次に負荷対策についてですが、過去にはやった事がある最大規模のシステムは以下の通りです。
- 会員数が 2000 万人程度
- スループットの目標値が 5000rps
- この負荷がかかった状態で参照系の API を 150ms 以内にレスポンスを返す事を目標にする
クラウドや Serverless 環境で運用を行うケースが大半なので、性能試験を行う際は、システムをスケールアウトした際にそれに伴って性能が向上する事を確認する事を意識しています。
AI バックエンドの焦点:
- RAG パイプライン(チャンキング、埋め込み、ハイブリッド/セマンティック検索、再ランキング)
- ツール使用/関数呼び出し、JSON/JSON Schema 構造化出力
- エージェントパターン(ルーティング、計画、状態永続化)
- 非同期ストリーミング(Server-Sent Events)、WebRTC リレー、低レイテンシ音声 TTS/STT
参考までに生成 AI を利用した個人サービスのソースコードを記載しておきます。(Python + FastAPI による実装)
https://github.com/tetratensor/AI-Cat-Persona-API
SRE やクラウドエンジニアを専門でやった事はないのですが、過去にはそこそこの規模(会員数 100 万人ほど)の Web サービスのリプレイスで AWS のネットワーク設計をゼロから行った事があります。
最近はスタートアップ企業でのお仕事が多い事もあり、AWS のような大手のパブリッククラウドを利用するよりも Cloudflare Workers のような高性能な Serverless プラットフォームや Fly.io のような安価で簡単にコンテナ実行環境が構築出来るプラットフォームを選定しています。これはインフラ環境のメンテナンスコストを可能な限り削減し開発リソースをアプリケーション開発に集中させるという考え方からです。
これは RDB などの DB に関しても同じで PlanetScale などの安価な DBaaS(Database-as-a-Service)を採用しています。 ブランチ機能や Safe migrations などの機能により開発体験も良くなるのでメリットはかなり大きいと感じています。
AI ワークロードでは、サーバーレス GPU(Modal)とマネージド推論(Cloud Run)も活用し、ストリーミングエンドポイントを提供しています。
とは言え一定規模以上のシステムだと AWS 等を利用したほうが費用も安くノウハウもたくさんあるのでその場合は AWS 等を利用します。
AWS リソースは Terraform で構成管理を行うようにしています。
誰がいつどのように変更したのかを把握するのと、環境構築手順をコード化して保存するのが目的です。
AWS Well-Architected フレームワーク 等の AWS のベストプラクティスに準拠しセキュリティを意識した設計を心がけています。
AI 運用の焦点: データセット/バージョニング、プロンプト/バージョン管理、コスト/レイテンシ監視、評価ハーネス(オフライン/オンライン)、安全性チェック。
スキルの習熟度の目安は下記の通りです。
あくまでも自己評価です。
S: その技術における現時点でのベストプラクティスをある程度理解しており、実装出来るA: 業務レベルで普通に開発が出来るB: 業務経験ありだが経験が少ないC: 学習した事がある程度
| 言語名 | スキルレベル | 備考 |
|---|---|---|
| HTML | A | フロントエンドをやっていた事もあるので普通に書けます。 |
| CSS | A | フロントエンドをやっていた事もあるので普通に書けます。 |
| JavaScript | S | ブラウザ、Node.js 共に経験あり、最新の仕様も把握しています。 |
| TypeScript | S | ブラウザ、Node.js 共に経験あり、最新の仕様も把握しています。 |
| Python | S | LLM アプリ、RAG、エージェント、ツール呼び出し、FastAPI ストリーミング |
| Go | A | 重厚なフレームワークを使わずに REST と gRPC アプリを構築 |
| PHP | A | ファーストキャリアで触れた言語です。最近は利用していません。 |
| Ruby | B | Ruby2.4、2.5 の頃に利用していました、最近は利用していません。 |
| Java | B | 保守案件で Java8 + Spring Framework の組み合わせで少し開発した程度。 |
| Scala | C | PlayFramework2.4 を少しだけ保守案件で触った程度、Gatling でテストシナリオを書いていました。 |
JavaScript(TypeScript)がもっとも経験が長いです。最新の仕様にも追従出来ております。
PHP はファーストキャリアから扱っている言語で 5 年ほど扱っていましたが、最近触っていないので、最新の仕様には疎いです。(7.3 系あたりで知識が止まっています)
最近、React、Next.js でのフロントエンド開発やインフラ側のコードを AWS Lambda で書く事が多いので TypeScript や Go を書く機会が一番多いです。
Ruby はそこそこ書けますが長い間書いていないので最新の仕様には疎いです。
Java, Scala に関しては、まだ経験不足なところが否めないと感じております。
最近 LLM を利用したアプリケーションの新規開発案件に参加しており、今バックエンドで一番触る機会が多い言語となっています。
私の GitHub を見て頂き、どの程度の技術力なのかを判断して頂くのが良いと思っております。
| 名前 | スキルレベル | 備考 |
|---|---|---|
| Laravel | A | 1 から導入した経験があります。最後にやった PHP 案件がこれでした。 |
| Express | S | 2019 年頃からサーバーサイドで Node.js をやる際に良く利用していました。 |
| NestJS | A | 2022 年頃からサーバーサイドで Node.js をやる際に良く利用しています。 |
| Ruby on Rails | B | 1 から開発経験アリです。WebAPI の開発で利用しました。当時は 4 系だったので最新の仕様には追従出来ていません。 |
| Django | A | 1 から開発経験アリです。 |
| FastAPI | S | LLM バックエンド、SSE ストリーミング、非同期 API |
| Spring Framework | B | 保守案件で少し触った程度で習熟度は高くありません。 |
| Play Framework | B | 2.4 系を少しだけ保守案件で触った程度で習熟度は高くありません。 |
| Hono | A | 個人開発で利用しました。 |
| 名前 | スキルレベル | 備考 |
|---|---|---|
| OpenAI API/SDK | S | Chat、ツール、Realtime API、埋め込み |
| Anthropic (Claude) API | A | ツール、推論、安全性 |
| Google Gemini API | A | マルチモーダル Live、画像/音声/動画 |
| Modal (サーバーレス GPU) | A | バッチ/ストリーミング推論ジョブ |
| Milvus (Zilliz Cloud) | B | RAG 用ベクトル検索 |
| Pinecone | B | サーバーレスを評価中 |
最近の自分の考えとしては、以下のような理由からバックエンドに関してはフルスタックなフレームワークを駆使してモノリシックなシステムを開発するより、Hono のような薄いフレームワークと Cloudflare Workers のようなサービスを使って小規模で疎結合なシステムを構築していくのが良いと考えています。
- Next.js のようなフレームワークの進化により、フロントエンドにアプリケーション開発の比重が寄ってきている(LLM を利用したアプリケーションは別)
- クラウドサービスたライブラリの進化によりバックエンドで書くコード量が減っている
もちろんモノリシックに作ったほうが早い場合も多々あるので全てのケースでは当てはまらないと思います。
Go に関してはフレームワークを利用せずに標準パッケージだけで小さなコンテナ用アプリケーションを作成するスタイルを取っています。
TypeScript で開発を実施する際は Cloudflare Workers のような Edge サーバーで動作する環境を利用出来ないか検討します。
また Node.js で開発する際もなるべく非 Node.js 環境に移行しやすいような設計を意識しています。
| 名前 | スキルレベル | 備考 |
|---|---|---|
| jQuery | A | JavaScript で初めて触ったライブラリです。それなりに長く業務でも使っていましたが最近は全く触っていません。 |
| React | S | 2018 年頃からこれで開発をしています。ベストプラクティスもある程度は把握しています。 |
| React Native | A | Expo を使ったクロスプラットフォームアプリ、必要に応じてネイティブモジュールも使用 |
| Vue.js | B | React よりは習熟度が高くないですが、Vuex も含めた SPA 開発を行った事があります。 |
| Next.js | S | 新規開発のアプリケーションで複数回利用しました。 |
| Nuxt.js | A | 新規開発のアプリケーションで複数回利用しました。 |
| Angular | B | 1 系の頃に少し学習しましたが最近は全く触っていません。 |
npm を用いたフロントエンド周りの環境構築等も問題なく行う事が出来ます。
最近は Next.js(React)がメインです。
少し前までは、Redux を使う事が多かったですが、最近は Redux を使わずに SWR や標準の React.Context を使う事もあります。
最近ではシンプルなステート管理ライブラリの valtio も気に入っています。
Svelte、Solid、Qwik 等新しいライブラリが出てきていますが、個人的には現時点では React を選択するのが無難だと考えています。理由は以下の通りです。
- エコシステムが育っている
- メンテナンスの継続性が安定している
- 最も普及しているので良質な情報が多い
Server Components 等の比較的新しい分野も React 界隈から主に発信されているので、未来のフロントエンドを見据えた時に React をキャッチアップしていると得られる情報も多いというのもメリットだと思っています。
| 名前 | スキルレベル | 備考 |
|---|---|---|
| MySQL | A | 一番良く利用しています。5.1 系の時代から 5.7 系までのバージョンを利用した経験があります。 |
| Redis | A | オンプレで Redis Sentinel を使って自動フェイルオーバーの仕組みを構築した経験があります。 |
| memcached | A | キャリア初期の頃に Cache サーバーとして利用していました。 |
| MongoDB | B | 社内システムの構築時に一度だけ使った事があります。 |
| DynamoDB | B | Serverless アーキテクチャで API の認可基盤を開発した際に利用しました。 |
上記に記載した DB は全て導入からチューニングまで対応しておりました。
ただし MongoDB だけは、アクセス数が限定可された社内システムでの利用だったので、高負荷時のパフォーマンス・チューニングの経験はありません。
MySQL に関しては、現在においても最も重要な RDBMS だと思っているので、設計やパフォーマンスチューニングにはそれなりに拘りを持っています。
最近では PlanetScale などの安価な DBaaS(Database-as-a-Service)を採用しています。 ブランチ機能や Safe migrations などの機能により開発体験も良くなるのでメリットはかなり大きいと感じています。
| 名前 | スキルレベル | 備考 |
|---|---|---|
| Milvus(Zilliz Cloud) | B | LLM 案件で初めて利用した VectorDB です。 |
| Pinecone | B | サーバーレスを評価中 |
業務経験があるのは Milvus(Zilliz Cloud) のみです。
ただ環境構築は別のメンバーが実施したので、自分はまだ VectorDB をゼロから導入した経験がありません。
Pinecone serverless が出たのでこれを利用して何か作ってみようと思います。
| 名前 | スキルレベル | 備考 |
|---|---|---|
| Terraform | S | AWS の構成管理でよく利用しています。 |
| GitHub Actions | S | 最近では CI・CD の構築にこれを用いる事が多いです。 |
AWS 等のパブリッククラウドを利用する場合は Terraform を用いた AWS の構成管理を行う事が多いです。
Kubernetes はマイクロサービスでアプリケーションを設計する機会があり、その際に利用しました。
CI・CD の設定に関しては、GitHub Actions を利用するのが現時点ではベストな選択と考えています。 開発の初期段階でも CI/CD を構築する事でデプロイ回数を増加させ価値提供までの時間を短縮出来るので、CI・CD はかなり重要だと考えています。
AWS で利用した事があるサービス一覧です。
| サービス名 | スキルレベル | 備考 |
|---|---|---|
| EC2 | S | Web サーバーとして利用していました。 |
| ECS | A | 最近は Fargate を利用する機会が多いです。 |
| ELB, ALB | S | 今は ALB をメインに使っています。 |
| AWS Lambda | S | 最近利用機会が多くなっています。REST API やインフラ周りのタスク等様々な場面で利用しています。 |
| S3 | A | 様々な用途で利用しています。 |
| CloudFront | A | CDN として利用しています。 |
| Route 53 | A | 利用しています。ドメインの購入もこちらのサービスを利用した事があります。 |
| API Gateway | A | AWS Lambda と組み合わせて様々な API を開発した事があります。 |
| RDS | A | Multi-AZ を意識した構成も構築した事があります。 |
| DynamoDB | A | Lambda と合わせて API サーバの DB として利用した事があります。 |
| ElastiCache | A | Laravel 製のアプリケーションのキャッシュサーバとして利用しました。(Redis を利用) |
| Cognito | A | UserPool を用いて認証基盤を構築。社内向け、エンドユーザー向け、両方構築経験があります。 |
| CloudFormation | B | Terraform のほうが AWS の新機能への対応が早いので最近はあまり使っていません。 |
| X-Ray | B | サーバーレスアプリケーションの監視・分析に利用しました。 |
| CodeDeploy | A | EC2 での Blue/Green デプロイの仕組みを構築した事があります。 |
| CodeBuild | A | ECR へのプッシュ等、様々な用途で利用しています。 |
| Kinesis Data Firehose | A | アプリケーションログを S3 バケットに転送する為に利用しました。 |
| Athena | A | Firehose で集めたログを SQL で検索する為に利用しました。 |
| EKS | C | マイクロサービスのアプリケーション基盤作成で利用しました。(それほど複雑な設定は行っていません) |
| Rekognition | A | 画像に不適切な物が写っていないか確認する際に利用しました。個人サービスでも利用しています。 |
VPC や CloudWatch 等の AWS を利用すれば必ず利用するような物は含めておりません。
AWS は 2019 年頃から積極的に利用しており、0 から上記のサービスを用いてインフラ全体(Web アプリケーションも含む)を構築した経験があります。
業務では Perplexity のような検索 AI や Cursor のような AI 支援が強い IDE を積極的に活用して開発効率を向上させています。
今まで解決出来なかった領域の問題解決が出来る可能性がある事から LLM を利用したアプリケーション開発に強い関心があり、2022 年 7 月頃から実際に案件に参加するようになりました。
今最も興味がある技術は OpenAI Realtime API や Gemini 2.0 Multimodal Live API 等のリアルタイム系の API になります。
特に Gemini 2.0 Multimodal Live API は AI との擬似的なビデオ通話が可能で大きな可能性を秘めていると感じています。
https://github.com/tetratensor/realtime-api-web-console
実は Next.js は 2017 年頃に触っていたのですが、ISR(Incremental Static Regeneration) が画期的な仕組みと考え注目し始めました。
特に ISR は自分が関わっている多くのサービスの応答速度を改善出来る可能性を秘めているので、注目しています。
Next.js 13 からは React Server Components を利用可能な App Router が安定版になり、ますます重要な技術になったと感じています。
ただし Vercel を採用出来ない場合インフラ構築コストや運用コストが大幅に増えてしまうので、その場合は Remix のようなシンプルなフレームワークを採用するのが良いと思います。
Next.js 12 から実装された Middleware や Remix などエッジコンピューティングを利用した仕組みが登場しています。
これらの仕組みを利用するとフロントエンドの大幅な高速化や AB テスト等様々な利用用途が考えられるので、注目しています。
また今後は Vercel の Edge ランタイムのような Node.js 以外の JS ランタイムでも動作するコードを作成する事が必要になると感じています。
その為 Hono のような様々な JS ランタイムで動作する軽量なフレームワークにも注目しています。
CDN の提供や DDoS 対策だけでなく、Cloudflare Workers のような高性能な Serverless プラットフォームや D1 のようなデータベースも安定版になり、AWS の代わりに利用するような機会が増えるのでは?と予想しています。
自分が最近最も注目しているのは以下の記事です。
https://blog.cloudflare.com/python-workers
Python が Cloudflare Workers に正式対応した事により AI アプリケーションとの相性がますます良くなったと感じています。
バックエンド開発のトレンドもコンテナの次に WASI(Web Assembly System Interface)が主流になる可能性もあるので、これらをサポートしているという点も注目ポイントです。
Next.js 13.4 から App Router が安定版となり React Server Components が利用出来るようになりました。
https://nextjs.org/blog/next-13-4
実際に試してみたところ、ダウンロードされる JS のサイズが大幅に削減されており、これを上手く使う事で動的コンテンツを中心に提供するようなサービスでもページスピードを大幅に改善出来る可能性がるので今後は React Server Components を上手くアプリケーションの設計に取り入れる事が必要だと感じています。
安価で利用可能でさらに東京リージョンがあるのでレイテンシの面でも問題なく利用可能な PostgreSQL 付きの認証基盤です。
認証機能を素早く提供可能で RDB の PostgreSQL も利用可能なので自分的には認証基盤のファーストチョイスになる選択だと考えています。
Algomatic, Niji Voice 音声合成サービス(2024 年 11 月〜2025 年 4 月)
Niji Voice の開発業務。入力されたテキストを音声データに変換する TTS サービスです。 キーワード: TTS、マルチモーダル音声、低レイテンシストリーミング、WebRTC/SSE、リアルタイム AI、Stripe メータリング
- Next.js 15
- Vercel
- HeroUI
- ESLint
- Supabase(認証基盤)
- Hono(バックエンド側のアプリケーション層で利用)
- Python 3.13
- uv(Python の package 管理)
- FastAPI 0.115
- 独自構築された TTS
- Cloud Run(API サーバーとして利用)
- Stripe(決済)
1(自分)+ 2 開発者 + 1 事業責任者 + 1 クリエイター + 1 デザイナー = 合計 6 名
- フロントエンド側のアーキテクチャ選定
- β 版全体のアーキテクチャ選定
- 認証基盤選定
- フロントエンド開発
- バックエンド開発
またメインの業務から少し外れますが自分の X のアカウントでサービスの紹介や新機能のリリースをポストしたり、公式の Discord サーバーでユーザーさんと直接対話しながらプロダクト改善を実施しています。
- ログイン機能なしの β 版を 1 人で開発開始から 2 週間でスピードリリース、多くの方に利用して頂き(1 週間で生成文字数が 1 千万程度)結果としてかなり早い段階で PMF を達成できた
- その後、優秀な 2 名のエンジニアが新しく JOIN してきて、新しい 2 人のエンジニアと協力しながら以下の開発を行った:
- にじボイスを有料化してログイン機能、決済機能を追加
- にじボイスの API 公開
- 優秀なメンバーが揃っていた事もあり価値ある機能に絞って優先的に対応する事で短い期日で高品質なアプリケーションが開発出来たと感じています
Algomatic, AlgoGames LLM を活用した動画翻訳アプリ(2024 年 3 月〜2024 年 9 月)
動画ファイルをアップロードすると動画内の音声を翻訳した字幕を付けた動画を生成するアプリケーションの新規開発になります。 キーワード: STT/ASR、翻訳、マルチモーダル、バッチ処理、サーバーレス GPU、RAG(ドメインプロンプト)
- Vue.js/Nuxt.js, Pinia, Firebase
- Biome, Prettier
- Python 3.12, Rye(Python の package 管理), FastAPI 0.108
- OpenAI API, Anthropic API, Gemini API
- Cloud Run(API サーバーとして利用), Google Cloud Workflows
- Modal(サーバレス GPU を提供するサービス)
- Stripe(決済)
1(自分)+ 3 開発者 + 1 プロダクトマネージャー
- フロントエンド側のアーキテクチャ選定
- フロントエンド、バックエンドの開発
- 開発者向けのドキュメンテーション作成
- プロジェクト進行役(スクラムマスターのような役割)
- 既存の LLM 文字起こし/翻訳プロトタイプをユーザー向けアプリとして製品化
- スピードと品質を両立: フロント側は Vue.js、Nuxt.js、Pinia、バックエンド側は Cloud Run、Firebase
- OpenAI 以外にも Anthropic(Claude 3.5 Sonnet)や Gemini API を必要に応じて使い分け
- 結果:
- 限られた稼働時間(週 2 日)でスピードと品質を両立して 3 週間で Β 版をリリース、その後の正式版も遅延なく 9 月にリリース
- デザイナーが不在だったので UI ライブラリを用いてデザイン部分も担当(その後にデザイナーがアサインして正式なデザインに変更しています)
- 限られた時間で成果を出す為に課題の分離と優先度付けを明確にして見える化した
Algomatic, Apodori AI 開発会社のオウンドメディア + AI エージェント(2024 年 1 月〜2024 年 5 月)
マーケティングサイトと、受託開発に関する問い合わせに回答し、営業担当者に連絡を取ることができる AI エージェント。 キーワード: AI エージェント、ツール/関数呼び出し、リード認定、検索、i18n
- Vue.js/Nuxt.js, Pinia, Firebase
- Python 3.12, Rye, FastAPI 0.100
- OpenAI API, Fly.io(API サーバーとして利用), Milvus(Zilliz Cloud)
自分(1 名)、開発者(1 名)、別会社のデザイナー(1 名)、プロダクトマネージャー(1 名)
- 全体的なアーキテクチャの選定、設計・開発
- 開発者向けのドキュメンテーション作成
- プロジェクト進行役(スクラムマスターのような役割)
- OpenAI のツールを活用して AI エージェントを簡単に拡張可能な設計にしました。現在は会話が認定リードと判断された場合に営業担当者にメール送信する機能が実装されています
- フロントエンドの i18n を実装
クレジットカードに関する FAQ に回答するチャットボット。 キーワード: RAG、埋め込み、PII 編集、コンテンツモデレーション、レイテンシ SLA、Milvus
- Python 3.12, Rye, FastAPI 0.100
- OpenAI API
- AWS(ECS Fargate)
- Milvus(Zilliz Cloud)
- LINE Messaging API
自分(1 名)、開発者(5 名)、プロダクトマネージャー(2 名)
- バックエンドインフラ設計・構築
- バックエンドアーキテクチャ選定・設計・開発
- 関係者が多くコミュニケーションに齟齬が起きやすい状況でしたが積極的にドキュメント化を実施して各開発者から同じ質問が発生しないように意識しました
- 初期段階で CI/CD の仕組みを整えて、デプロイ回数を増やす事で改善までのフィードバック期間を短くする事で素早い開発が可能になったと考えています
InnovativeAI, Resume-No, AI 採用・人材募集プラットフォーム(2023 年 5 月〜2024 年 12 月)
Resume-No(レジュメノー)の統合・機能拡張に取り組みました。Resume-No は、HR チーム向けの履歴書ソーシング、スクリーニング、候補者管理を自動化することを目的とした AI 採用ツールです。
- React 18, Next.js 13, GSAP, Three.js, Jest, ESLint, Prettier, Vercel
- Upstash, Auth.js
- Python 3.11, Poetry, FastAPI 0.100, OpenAI API
- Milvus(Zilliz Cloud), PlanetScale, Fly.io(API サーバーとして利用)
自分(1 名)、開発者(2 名)、デザイナー(1 名)、プロダクトマネージャー(1 名)
- 認証基盤周りの技術選定・設計・実装
- バックエンド側のアーキテクチャの選定、設計・開発
- 開発者向けのドキュメンテーション作成
- プロジェクト進行役(スクラムマスターのような役割)
- スタートアップに典型的な厳しい予算・期日の中で運営し、本質的な価値に集中
- 全メンバーがパートタイム;非同期コミュニケーションと可視性を重視(Slack、GitHub Issues、GitHub Projects)
- 顧客価値に基づいてスコープを常に見直し、変更を提案
- 生成 AI を活用したルーチンコーディングと新技術(Python、FastAPI、App Router)の迅速な学習により速度と品質を両立
Smart Hospital, 医療メディアフロントエンドリプレイス(2022 - 2023)
応答速度の改善と堅牢なフロントエンド基盤の確立を目的とした医療メディアサービスのフロントエンド大幅改修。
- React 18, Next.js 12, Storybook, Jest, ESLint, Prettier, Vercel
4 名: PM(1)、自分(1)、開発者(1)、デザイナー(1)
- アーキテクチャ選定・設計・開発
- 各サービス開発者向けドキュメンテーション作成
- 開発者サポート、コードレビュー
- Next.js を ISR のメリットでメディアサービスに最適化、Vercel で最大限活用
- デザイナーと協業して GitHub Packages で共通 UI コンポーネント化
- 結果:
- 大幅な応答速度改善(PageSpeed +40% 程度)
- フロントエンド基盤と開発ルール確立
Crowdfunding Service メッセージ一斉送信改善(2022)
大規模プロジェクトでの一斉送信時のタイムアウト問題を解決し、20,000 人以上の支援者への送信を可能にした。
- Go, Amazon Aurora (MySQL 8.0), SendGrid
2 名: PM(1)、自分(1)
- 既存スキーマへの大幅な変更を避けるため、関連テーブルを導入
- SendGrid のバッチ送信(1,000 アドレス)と Delayed Job による非同期処理を使用
- 結果: 20,000 人以上の受信者を確実に処理; ユーザーの待ち時間を解消
Crowdfunding Service 認証プラットフォーム移行(2021 - 2022)
devise ベースの認証基盤を IDaaS アプローチに置き換え、将来のソーシャルログインや非パスワード認証の柔軟性を追加。
- Go(Cognito User Pool カスタム Lambda とユーザーデータ操作 API)
- React 16, OpenAPI v3, Terraform
初期 2 名(開発リーダー + 自分)、後で開発者 2 名 + 相談役 1 名追加
- 既存認証基盤から新認証基盤への無停止データ移行設計・実装
- ログイン状態維持メカニズムの設計
- Go で Cognito User Pool カスタム Lambda とユーザーデータ操作 API 実装
- ERB から React への登録・ログインフォーム再構築
- 予算制約で Auth0 から Cognito User Pool に変更、レートリミットとカスタム Lambda の課題を技術検証で解決
- 結果:
- 長時間メンテナンスによる機会損失を回避
- 少ない工数でソーシャルログイン追加が可能(OpenID Connect 準拠)
Crowdfunding Service コメント取得 API(2021)
大量コメントプロジェクトでの表示遅延を解決し、全コメント表示を可能にする API 化と SPA 化。
- React (16), Ruby on Rails (6.1), Amazon Aurora (MySQL 8.0), OpenAPI v3
2 名: PM(1)、自分(1)、レビュワー 3 名
- OpenAPI スキーマ設計、ページング対応の Rails API 実装、コメント表示の SPA 化(無限スクロール)
- スロークエリを回避するためのクエリチューニング; React DevTools でレンダリングパフォーマンスを最適化
- 結果: 遅延を解消し、全コメントの閲覧が可能に(従来は表示件数に上限あり)
ユーザーアクション(記事コメント、返信等)に対する通知送信 API をマイクロサービスで開発。
- AWS(EKS), Go, gRPC, Terraform
2 名: 自分 + 開発者 1 名
- アーキテクチャ全体決定、Go で gRPC アプリケーション開発
- EKS 上でアプリケーション構築基盤確立
- PHP 中心現場で Go 開発知見を普及
- 社外 Go エキスパート講師依頼、技術情報アウトプット
- PHP 中心現場向けに Go 開発注意点、PHP から Go 移行時の考慮点を社内ドキュメント化
- プロジェクト外メンバーも Go 開発可能に
- 予算制約で小規模運用、EKS 構成管理・CI/CD の不十分さを反省
- Kubernetes・gRPC 初経験で貴重な学習機会
クラウド広告運用ツールの新環境構築。
- AWS(各種サービス), Terraform
2 名: 自分 + CTO
- アーキテクチャ全体決定、Terraform でマルチリージョン運用可能環境構築
- 結果:
- コード管理されていないインフラがコード化
- 海外進出時の他国リージョン運用が可能
EC2 運用アプリケーションを Fargate で動作するよう改修。
- AWS Fargate, AWS CodeBuild, ECR, Docker Hub, Terraform, CircleCI, Gatling
2 名: 自分 + 開発者 1 名
- 全体方針決定、Fargate ログ分析基盤構築、各アプリケーション Dockerfile 作成
- 結果:
- コンテナベースで開発者環境差異問題減少
- デプロイ速度高速化
- 運用料金最適化
- 一部アプリケーションを Twelve-Factor App 要件に準拠
- Docker 運用の基本ノウハウ蓄積
看護師向けコミュニティサイトの DB も含めた全面リプレイス。
- PHP 7.2(Laravel 5.5), TypeScript, Next.js(React), Nuxt.js(Vue.js)
- AWS(各種サービス), JIRA, Confluence, GitHub, CircleCI
7 名: 開発リーダー(自分)、開発者 5 名、PM 1 名
- システム全体アーキテクチャ決定、スクラムマスターとして開発効率向上施策実施
- AWS インフラ構築全般(Terraform 構成管理、デプロイ、ログ解析基盤)
- AWS Lambda + TypeScript で OpenID Connect 準拠 API 認可基盤
- PHP 7.2(Laravel 5.5)で WebAPI 開発
- Next.js, Nuxt.js でフロントエンド開発
- Cognito User Pool でユーザー認証基盤(管理サイト用)
- 結果:
- モノリシックからマイクロサービス(厳密ではない)に移行、システム疎結合化
- レガシー開発チームに Atlassian 製品、ZenHub、AWS 導入で開発効率大幅向上
- 自走可能開発チーム構築、開発効率・品質大幅向上
- チームマネジメントからアーキテクチャ設計、インフラ構築、フロント・バックエンド開発まで全工程に関与
- データ移行もトラブル少なく、前回リプレイス案件よりスムーズな進行
老朽化した会員基盤システムを DB 構造も含めて全面リプレイス。会員数約 2,000 万人。
- Java 11 (API server), Spring 5
- MySQL 5.7, Couchbase 3 (backend cache), Redis (messaging)
- AWS(ステージング・性能試験環境), Vagrant, Ansible, Docker
- JIRA, Confluence, Bitbucket, Jenkins
12 名: 開発リーダー(自分)、技術顧問 1 名、開発者 7 名、ディレクター 2 名、PM 1 名
- 開発リーダー
- 旧 DB から新 DB へのデータ移行計画作成、移行テスト自動化
- システム全体アーキテクチャ決定
- 新会員基盤 API と管理サイトの要件定義・設計
- Ansible でサーバ構成管理、API 実装
-
急激な会員数増加に対応するための大幅な性能向上を達成
-
AWS で性能試験環境を構築し、ミドルウェアの性能試験を気軽に実行可能に
重要な学び:
- リプレイス案件では、データ移行が最も困難な部分
- 少数精鋭チームは頭数を揃えるよりも開発速度が向上する
- 早期かつ徹底的な技術検証が重要
社内向け API を一元管理する OAuth 2.0 ベースの認可基盤開発。Amazon API Gateway の簡易版。
- Node.js (Express), Redis (API Gateway cache)
- PHP 7.2 for admin site managing client IDs, etc.
- MySQL 5.5, Jenkins, JMeter
6 名: PM + 設計・開発者(自分含む)
- クライアント ID 等管理サイトの要件定義〜設計・開発全般
- Node.js API 実装・ユニットテスト作成・パフォーマンステスト実施
- 独自実装の認証・認可フローを標準ベースの OAuth に統一; API アクセス管理を明確化; CI を導入してリリース後の不具合を大幅に削減
- OpenID Connect 仕様を参照して OAuth Provider を実装し、1 次情報(RFC、公式ドキュメント)を読む重要性を再認識
独自実装デプロイツール(テストなし、再現環境なし)を一般的なツールにリプレイス。
- Jenkins, Capistrano(Ruby)
2 名: 自分 + PM
- 要件定義〜設計・開発全般
- 「秘伝のタレ」デプロイツールを一般的ツールに置換、誰でもメンテナンス可能に
ユーザー個人情報取得 API の性能向上。
- PHP 7.2, Laravel, MySQL
1 名(自分)、レビュワー: 先輩エンジニア 1 名
- レガシースキーマの制約下でクエリ設計に工夫
- 結果: 平均応答速度 ~400ms → ~150ms に改善; API が実用的なレベルに到達
AI を活用した猫の人格を持つチャットボットサービスのバックエンド API。ユーザーが猫の人格を持つ AI とチャットできる日本のサービスです。
- Python 3.12+ (FastAPI, asyncio, aiomysql)
- OpenAI API, LangSmith, PlanetScale MySQL
- Docker, Docker Compose, uv
- Uvicorn, httpx, tiktoken
- AI チャットボットバックエンドのフルスタック開発
- リアルタイムストリーミング応答のための SSE(Server-Sent Events)実装
- 並列実行による包括的なテストスイート構築
- 複数の AI プロバイダーとデータベースシステムの統合
- 感情検出モデルで 90% の検証精度を達成
- 簡単なデプロイのための Docker コンテナ化を実装
Amazon.co.jp のウィッシュリストページで自動的に報酬ポイントを表示する Chrome 拡張機能。個別の商品ページを訪問する必要がなくなります。
- TypeScript 5.7+, Webpack 5.99+
- Chrome Extension Manifest V3
- pnpm package manager, ES2022 target
- Chrome Web Store で 1.5k+ ユーザーを持つ Chrome 拡張機能を開発
- リアルタイム DOM 操作とポイント抽出を実装
- 様々な Amazon 商品タイプ向けの効率的な CSS セレクターシステムを構築
- IntersectionObserver と MutationObserver でパフォーマンスを最適化
- バージョン同期による自動デプロイパイプラインを作成
チャットボット会話の感情分析用 LSTM ベースのニューラルネットワーク。CLI インターフェースと即座の推論用の事前訓練済みモデルを備えています。
- Python 3.8+, TensorFlow/Keras
- LSTM ニューラルネットワーク, Embedding layers
- NumPy, pandas for data processing
- Jupyter notebooks for model development
- 訓練精度 88.8%、テスト精度 76.1% を達成する LSTM モデルを開発
- リアルタイム感情予測 CLI を実装
- テキストデータ用の包括的な前処理パイプラインを構築
- 履歴統計付きのインタラクティブテストインターフェースを作成
- 本番デプロイ用にモデルを最適化
電子取引シミュレーション用のアルゴリズム取引戦略。マーケットメイキング、アービトラージ、モメンタム戦略を含みます。
- Python 2.7+/3.x, NumPy
- Socket programming, JSON protocol
- Real-time market data processing
- Statistical analysis and signal generation
- 複数の取引戦略を実装: ペニング、マイクロ MACD、ETF アービトラージ
- リアルタイム市場データ処理システムを構築
- リスク管理とポジション追跡を開発
- WebSocket 通信による自動取引クライアントを作成
- アルゴリズム取引シミュレーションで競争力のあるパフォーマンスを達成
Next.js で構築され Cloudflare Workers にデプロイされたリアルタイム音声 AI アシスタント。音声活動検出、音声認識、音声合成を特徴とします。
- Next.js 15, React 19, TypeScript
- Cloudflare Workers, Durable Objects
- WebSocket communication, Voice Activity Detection
- Cloudflare AI, Tailwind CSS
- リアルタイム音声会話システムを構築
- WebSocket ベースの音声ストリーミングを実装
- Durable Objects でステートフル音声セッションを作成
- 低レイテンシのためのグローバルエッジデプロイを達成
- 音声処理用の複数の AI プロバイダーを統合
Next.js フロントエンドと FastAPI バックエンド間の WebSocket 通信によるリアルタイム AI 会話 Web コンソール。マルチモーダル AI インタラクションをサポートします。
- Next.js, TypeScript, Tailwind CSS
- Python, FastAPI, WebSocket
- Gemini 2.0 Multimodal Live API
- GitHub Actions CI/CD
- リアルタイム音声・テキスト会話システムを構築
- WebSocket 通信アーキテクチャを実装
- 複数の AI プロバイダー(Gemini、Nijivoice)を統合
- モダン UI でレスポンシブ Web インターフェースを作成
- 自動 CI/CD パイプラインを設定
従来の ML とモダンな埋め込みを使用した履歴書分析・分類システム。履歴書スクリーニングとアドバイス生成を提供するローカル、プライバシーフレンドリーなシステムです。
- Python 3.8+, scikit-learn
- TF-IDF, Logistic Regression, sentence-transformers
- PDF/DOCX processing, pandas, NumPy
- YAML configuration
- 包括的な履歴書分析パイプラインを構築
- 分類用の複数の ML アルゴリズムを実装
- 自動アドバイス生成システムを作成
- バッチ処理用の CLI ツールを開発
- 履歴書分類で高い精度を達成
金融ニュース記事から市場感情を予測するための微調整された DistilRoBERTa モデルを使用した金融ニュース感情分析。
- Python, Transformers (Hugging Face)
- DistilRoBERTa, financial datasets
- Jupyter notebooks, pandas, NumPy
- Custom fine-tuning pipeline
- 金融感情分析用の DistilRoBERTa を微調整
- 金融ニュース分類で 91.71% の精度を達成
- 包括的な訓練・評価パイプラインを構築
- 自動データ処理ワークフローを作成
- 本番デプロイ用にモデルを最適化
音声認識、NER 匿名化、感情分析、文書音声変換を含むエンドツーエンド音声・テキストワークフロー用の軽量 Python ツールキット。
- Python 3.8+, VOSK, Transformers
- Hugging Face models, FFmpeg
- PDF/DOCX processing, TTS integration
- YouTube audio processing
- 包括的なマルチモーダル AI ツールキットを構築
- ビープ音挿入による音声匿名化を実装
- 文書音声変換システムを作成
- 音声コンテキストからの質問応答を開発
- 複数の AI タスクで高い精度を達成
Next.js とモダン UI コンポーネントで構築された包括的なプロジェクト管理機能を持つ Web ベースの時間追跡アプリケーション。
- Next.js 13, React 18, TypeScript
- Mantine UI, Tailwind CSS
- NextAuth, JWT authentication
- Storybook, Jest testing
- 包括的な時間追跡 Web アプリケーションを構築
- Mantine コンポーネントでモダン UI を実装
- 認証とユーザー管理システムを作成
- Storybook 統合でテストスイートを開発
- 複数デバイス向けのレスポンシブデザインを構築
米国の経済指標(GDP と消費者物価指数)が主要な世界株式市場のパフォーマンスに与える影響を調査する包括的な分析プロジェクト。先進国と発展途上国の両方で米国の経済指標とグローバル市場パフォーマンス間の相関を調査します。
- Python, Jupyter Notebooks
- FRED API (Federal Reserve Economic Data)
- Yahoo Finance API
- Pandas, NumPy, Matplotlib
- Statistical analysis libraries
- 包括的な金融データ分析システムを構築
- FRED と Yahoo Finance API からの自動データ取得を実装
- 米国の GDP/CPI と 10 の主要グローバル株式市場間の相関を分析
- 先進国と発展途上国の市場感度を比較する可視化を作成
- 研究仮説をテストする統計モデルを開発
- グローバル市場相互依存性に関する重要な洞察を達成
LiveKit Agents フレームワークで構築された本番対応音声エージェントシステム。AI を活用した会話、関数呼び出し機能、インバウンド・アウトバウンド電話のためのシームレスな Twilio 統合を特徴とします。
- Python 3.10+, LiveKit Agents framework
- OpenAI GPT-4o-mini, Deepgram STT, ElevenLabs TTS
- Twilio SIP trunking, WebRTC
- Docker, environment configuration
- Real-time communication protocols
- インバウンド・アウトバウンド通話機能を持つ本番対応音声エージェントを構築
- 電話最適化モデルによる高度な音声処理を実装
- リアルタイムデータアクセス(天気、時間クエリ)用の関数呼び出しシステムを作成
- PSTN 接続のための Twilio SIP trunking を統合
- 包括的な監視・ログシステムを開発
- ノイズキャンセレーションとターン検出で高品質音声インタラクションを達成
- 開発、ヘルスチェック、モデル事前ウォームアップ用の CLI ツールを構築
ビデオフィードを分析し、潜在的な暴力行為を識別し、即座の行動のための自動アラートを発行するカスタム訓練 YOLO モデルを使用したリアルタイム暴力検出システム。
- Python 3.6+, OpenCV, Ultralytics YOLO
- Custom dataset training, Roboflow integration
- SMTP email notifications, real-time video processing
- Dual-model architecture (general detection + violence detection)
- 高精度のデュアルモデル暴力検出システムを開発
- カスタムデータセットを作成し、専門 YOLO モデルを訓練
- 継続的監視によるリアルタイムビデオ処理を実装
- インシデントスナップショット付きの自動メールアラートシステムを構築
- 低い偽陽性率で高い真陽性率を達成
- 包括的な検証・テストフレームワークを作成
- 公共安全アプリケーション用の本番対応システムを開発