今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

srbhr/Resume-Matcher

Claude、ChatGPT、DeepSeekなど複数のLLMを活用して、各求人に最適化された履歴書を自動生成・カスタマイズするツールです。

求人票を貼り付けるだけで、AIが履歴書とのマッチ度をキーワードごとに可視化し、弱点をどう言い換えれば刺さるかまで示してくれます。応募先ごとに履歴書を作り直す作業や、カバーレターをゼロから書く時間が要らなくなり、複数職種向けのバージョン管理も1つの画面で完結します。Ollamaでローカル実行すれば無料で完結し、OpenAI・Claude・Geminiなどにも切り替えられるので、今日ためしに自分の履歴書を読み込ませてみたくなります。

01 / 概要
何をするものか一文で言うと
ひとことでClaude、ChatGPT、DeepSeekなど複数のLLMを活用して、各求人に最適化された履歴書を自動生成・カスタマイズするツールです。

Resume-Matcherは、履歴書と求人票をLLMで比較し、ATS通過率を高めるための改善案・カバーレター・面接対策をローカル環境で生成するツールです。FastAPI製バックエンドとNext.js製フロントエンドで構成され、litellm経由で100以上のLLMプロバイダーに対応します。Dockerで一括起動するか、バックエンドとフロントエンドを個別に起動して使う構成です。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

バックエンドはFastAPIのルーター群(resumes・jobs・applicationsなど)で構成されます。アップロードされた履歴書はmarkitdownやpdfminer.sixでテキスト化されます。求人票との比較はapp/services配下のats.py・improver.py・refiner.pyが担当し、litellm経由でLLMにリクエストを送りスコアリングと改善案を作ります。データはSQLiteに保存され、起動時に旧TinyDB形式が見つかれば自動で移行します。PDF出力はPlaywrightでHTMLをレンダリングする方式で、Dockerイメージには日本語・中国語・韓国語向けのNoto CJKフォントが同梱されています。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    リポジトリをcloneし、apps/backend/.env.exampleとapps/frontend/.env.sampleをコピーして、好みのLLMプロバイダーのAPIキーを設定します。

  2. STEP 02

    Dockerで起動する場合、Dockerfileがフロントエンドをビルドしてバックエンドと一つのイメージにまとめるため、初回はNext.jsビルドとPlaywrightのChromiumダウンロードで時間がかかります。

  3. STEP 03

    起動後は/api/v1/healthでヘルスチェックが通ることを確認し、ダッシュボード画面から履歴書ファイルをアップロードします。

  4. STEP 04

    アップロードした履歴書はmarkitdownやpdfminer.sixでテキスト化されます。求人票を貼り付けてtailor機能を実行すると、設定したLLMへリクエストが送られます。

  5. STEP 05

    結果画面でATSスコアと改善提案の差分を確認し、必要に応じてPDFやカバーレターとして書き出します。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

自分の履歴書ファイルと求人票から、ATSスコア・改善提案の差分・カバーレター・面接対策・レイアウト調整済みPDFが手に入ります。データはローカルのSQLiteに保存されるため、外部サービスに履歴書を預けずに調整作業を繰り返せます。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

PRごとのGitHub Actionsテストは実行されず、pre-pushフックによるローカルゲートのみで品質を担保する運用です。README.mdに明記されています。

02

LLM品質を判定するevalテストはpytestのmarkerで除外されており、通常実行では対象になりません。

03

動作にはlitellm対応のLLMプロバイダーキー、またはローカルLLMの用意が別途必要です。

04

旧TinyDBデータがある環境では起動時に自動でSQLiteへ移行される仕組みのため、移行結果の確認が必要になる場合があります。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

ローカル環境でAPIキーを自分で用意し、履歴書をLLMで調整したい求職者や、FastAPI+Next.jsのフルスタック構成を学びたい開発者に向いています。バックエンドにはunit・integration・serviceに分かれた多数のテストがあり、トランザクションや原子性を検証するテストも揃っています。これらがpre-pushゲートで継続的に守られている点はソースから確認できます。ただしLLM出力の品質そのものはevalテストがデフォルト除外のため自動保証の対象外で、実際の使用感は自分のAPIキーとプロンプトで試すまで分からない部分が残ります。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する