整理
Product
就活情報の一元管理
機能を並べるのではなく、受け取った情報が次の準備へつながる流れを設計しました。
- Inputメールを集約Gmailのメタデータを同期し、
重要・確認・広告へ分類 - Status選考を整理企業を5段階のカンバンで管理
- Plan締切を予定へ反映タスクと空き時間を
今日画面へ集約 - Prepare面接準備へ進む企業研究、自己分析、
想定問答を連携
管理
タスク・選考ステータス
企業ごとの締切と選考段階を共通データとして扱う発見
企業検索・マッチング
希望条件との一致を、説明可能な計算で提示準備
企業研究・想定問答・ナレッジ
調べた内容と面接準備を企業単位で蓄積My Contribution
実装担当
- 画面・ロジック
- 今日画面、カレンダー、タスク管理
- 選考管理
- 5列の選考ステータス管理ボード
- 企業発見
- 条件検索、マッチ率計算、選考ボードへの追加
- 開発運用
- ガードレール、Git運用手順、仕様書の更新
- 発表
- 最終発表スライドの構成・統合・レイアウト調整
Technology / Quality
各判定方法
予測しにくい外部サービスを境界へ閉じ込め、同じ入力に同じ結果が必要な処理は通常のプログラムとして実装しました。
マッチ率は純粋な計算
毎回結果が変わるAIを使わず、職種・勤務地・年収などの重み付き計算で、理由を説明できる結果にしました。
メール本文を取得しない
Gmail連携の権限をメタデータに限定し、取得対象も件名・送信元・日時へ絞りました。
外部APIはテストでモック
AIとGoogle APIの応答に依存せず、キーがない場合や通信失敗時の動作を検証できる構成にしました。
- Backend
- Python 3.11 / FastAPI / SQLModel / SQLite
- Frontend
- React / Vite / TypeScript / TanStack Query / CSS
- AI
- Azure OpenAI / Responses API / Structured Outputs
- Integration
- Google Calendar API / Gmail API / OAuth 2.0
- Test
- pytest / Vitest / Testing Library
Known Limitations
企業データはサンプル、iCloudメールはモックです。認証・複数ユーザー対応は対象外で、停滞企業の検出は設計のみです。スマートフォン幅を想定していますが、実機検証は行われていません。