概要
転職活動を支援するWebアプリ。求人を取り込み、職務経歴とのギャップを分析し、応募先ごとにレジュメを調整する(開発中)
課題
解決したい課題
- 求人ごとに、自分の経験やスキルの何が足りないかを把握するのに手間がかかる
- 応募先に合わせたレジュメの書き分けと、選考状況の管理が煩雑になる
技術課題
- サイトごとに形式が異なる求人情報を、利用規約とrobots.txtを守りながら取得する
- 個人利用で、使っていない時間のクラウド費用を抑える
- レジュメという機微な個人情報を安全に扱う
設計のポイント
| 論点 | 選択肢 | 採用 | 理由・トレードオフ |
|---|---|---|---|
| APIのホスティング | 常時起動のコンテナ / Lambda + API Gateway | Lambda + API Gateway | 個人利用ではアイドル時の費用がほぼかからないため。負荷が増えたらコンテナへ移す |
| 非同期ワーカー | すべてLambda / すべてFargate / ジョブの種類で分ける | ジョブの種類で分ける | LLMによる構造化や分析は短時間なのでLambda、ブラウザでの取得は長時間になり得るのでFargateにするため |
| フロントエンド | Next.js(SSR) / Vite + React のSPA | Vite + React のSPA | ログイン後の画面が中心でSSRやSEOが不要なため。S3とCloudFrontで配信できる |
技術スタック
- Python
- FastAPI
- SQLAlchemy
- PostgreSQL
- TypeScript
- React
- Vite
- AWS
- Terraform
- Playwright
- Claude API