Backend Engineer | AI-Driven Development | Ruby on Rails / Go
Ruby on Rails を軸にしたバックエンドエンジニアです。
何かを作るとき、指標を取り違えないことを大事にしています。 Catchup Feed は技術記事のキャッチアップ用ですが、最適化したいのは「配信した記事数」ではなく「理解が定着したか」。そのために記事をラジオ番組に変換して、手が塞がる時間でも耳から入る形にしました。 目的から逆算して、要らない複雑さは削る——そういう設計が好きです。
Backend
Frontend
Infrastructure / DevOps
AI / LLM
1. Catchup Feed
技術情報を毎朝10〜15分のラジオ番組に自動変換して届けるパーソナルポッドキャストシステム(実稼働中)
RSS・YouTube・ポッドキャストから技術情報を自動収集し、LLMで要約 → 台本生成 → VOICEVOXで音声合成した番組を、毎朝ポッドキャストアプリに配信するシステム。「配信された記事数」ではなく理解の定着を最適化目標に据え、育児等で手と目が塞がる細切れ時間でも耳から消化できる形に再設計しました。クイズ生成とspaced repetitionによる学習ループも音声に注入しています。
| 項目 | 内容 |
|---|---|
| バックエンド | Go 1.26(単一モジュール、server / worker / radio の3バイナリ構成) |
| フロントエンド | Next.js 16 + TypeScript (Strict) + TanStack Query(PWAダッシュボード) |
| AI / 音声 | 要約: Gemini → Groq → Ollama フォールバック連鎖 / TTS: VOICEVOX / 文字起こし: faster-whisper |
| インフラ | Raspberry Pi 5 + M3 Mac(夜間バッチ)+ Cloudflare Tunnel + Tailscale + Vercel |
| ダッシュボード | pulse.catchup-feed.com |
技術的なポイント:
アーキテクチャ:
- 単一ユーザーに右サイズした設計(初期版のマイクロサービス・gRPC・Prometheus を意図的に撤去し約3.8万行を削減)
- 縮退許容設計 — 「壊れない」より「壊れても翌日勝手に戻る」(Mac不在→エピソード欠番、無料API全滅→ローカルLLM、TTS障害→当日スキップ)
- 固定費ゼロ運用 — LLMは無料枠→ローカルのフォールバック、ホスティングは自宅Pi 5 + Cloudflare Tunnel
- プライバシー分界 — クラウドAPIに流すのは公開記事のみ、書籍・私的データはローカルLLM(Ollama)に限定
バックエンド:
- RSS / YouTube / ポッドキャストのマルチモーダル取り込み + 書籍PDFのRAG取り込み(Python)
- 理解定着の学習ループ — 放送記事からクイズを自動生成し、spaced repetition(3段ラダー)で復習を翌朝の番組に注入
- トークン認証付きプライベートRSS配信(友人への限定配信、平文トークン非保存・404統一応答)
- セキュリティ実装 — HttpOnly Cookie JWT・SSRF防御・XFF詐称対策のレート制限
フロントエンド:
- OpenAPI仕様からの型自動生成によるEnd-to-End型安全性
- ソース管理・友人/トークン管理・アクセスログ・学習トラッカーのPWAダッシュボード
開発プロセス:
- Claude Codeのマルチエージェントオーケストレーション(親がタスク分解・裁定、実装エージェントとレビューエージェントを分離)で開発
AIコード生成の品質を自動評価・保証する7フェーズ開発フレームワーク
Claude Codeのサブエージェント機能を活用し、9つの専門エージェント + 40の評価者による多層的な品質ゲートを実装。AIが生成したコードを自動的に評価・改善するサイクルを構築しました。
| 項目 | 内容 |
|---|---|
| 技術 | Claude Code Subagent, Prompt Engineering |
| 特徴 | 7フェーズ品質ゲート、自己適応型アーキテクチャ(技術スタック自動検出) |
| 対応 | 11言語、50+フレームワーク |
| 実績 | Rails 6.1→8.1 + webpacker→esbuild移行を約1.5時間で完了(196ファイル変更、JSバンドル76%削減) |
技術的なポイント:
- 並列評価によるパフォーマンス最適化
- サンドボックス実行による安全なコード評価
- フィードバックループによる自動修正・再評価
- 3,500行以上の設計書を自動生成
📝 EDAFの解説記事(Qiita) 📝 EDAFでRails 6.1→8.1アップグレード実践記事(Qiita)
休眠グループチャットを活性化するLINE Bot
コロナ禍で連絡が途切れがちなグループに、かわいい猫のマスコットが会話のきっかけを自動配信。LINE Messaging APIを活用したイベント駆動アーキテクチャで実装しました。
| 項目 | 内容 |
|---|---|
| 技術 | Ruby 4.0.5 + Rails 8.1.3 + MySQL 8.0 |
| 連携 | LINE Messaging API |
| テスト | RSpec + Selenium(100%カバレッジ) |
| フロント | Hotwire (Turbo + Stimulus) + Bootstrap 5 |
技術的なポイント:
- サービスオブジェクトによる責務分離(Fat Model/Controller回避)
- ストラテジーパターンによる動的イベントハンドラー選択
- Rack::Attackによるレート制限・ブルートフォース対策
- Brakeman・bundler-auditによるセキュリティ監査






