Skip to content

Aryan1718/AppCommit

Repository files navigation

AppCommit Logo

AppCommit

The job application version control system. Never lose track of what you submitted.

React FastAPI Supabase Manifest V3 ATS and LLM parsing Self-hosted


AppCommit is an open-source application tracking workspace designed for recall. When you apply for a job, the AppCommit extension automatically captures the job title, company, exact job description, and the resume you used, saving it to your personal dashboard.

When you get that interview invitation days or weeks later, you can instantly see exactly what you sent—even if the original job post has been taken down.

📸 Project Gallery

AppCommit Dashboard

Application Snapshot Application List Resume Archive

✨ Key Features

  • 🚀 Automatic Capture: Detects when you're on a job portal and offers to save your application context.
  • 📄 JD Snapshots: Saves the full job description text locally so you have it even if the listing is deleted.
  • 📂 Resume Tracking: Matches your application with the specific resume version you uploaded.
  • 🤖 Intelligent Parsing:
    • Native Support: High-accuracy selectors for Greenhouse, Workday, and Lever.
    • LLM Fallback: Uses Claude (LLM) to extract data from any other career site.
    • Manual Mode: Quick-edit fields if automated detection needs a nudge.
  • 🛡️ Privacy First: Your data stays in your own Supabase instance. No central service tracking your applications.

🏗️ How It Works

AppCommit uses a browser extension to bridge the gap between job portals and your personal dashboard.

  1. Upload: Add your different resume versions (PDF/Word) to your dashboard.
  2. Apply: Open any supported job portal (Greenhouse, Workday, Lever, etc.).
  3. Capture:
    • Mode 1 (Manual): Click "Save Application" in the extension sidebar.
    • Mode 2 (Auto): Extension intercepts the "Submit" click and captures data automatically.
  4. Recall: When an interview is scheduled, open AppCommit to review the exact context.

Tip

Use the LLM fallback for non-standard company career pages to get structured data extraction automatically.

🛠️ Quick Start

Prerequisites

Installation

  1. Clone & Setup

    git clone https://github.com/your-repo/AppCommit.git
    cd AppCommit
    cp .env.example .env
  2. Start Services Using Docker (easiest):

    docker compose up --build

    Or manually:

    • Backend: cd backend && pip install -r requirements.txt && uvicorn main:app --reload
    • Frontend: cd frontend && npm install && npm run dev
  3. Install Extension

    • Run node scripts/generate-extension-config.mjs to sync extension config with .env.
    • Open Chrome Extensions (chrome://extensions).
    • Enable "Developer mode".
    • Click "Load unpacked" and select the extension/ folder.

⚙️ Configuration

Use the .env file in the root directory to configure the application.

Variable Description
SUPABASE_URL Your Supabase project URL.
SUPABASE_SERVICE_KEY Service role key for backend operations.
SUPABASE_RESUME_BUCKET Name of the bucket to store resumes.
ANTHROPIC_API_KEY (Optional) API key for Claude LLM parsing.
ANTHROPIC_MODEL Model version for LLM parsing (e.g., claude-3-5-sonnet-20240620).
VITE_API_URL Backend URL for the frontend.
EXTENSION_API_BASE_URL Backend URL for the extension.

📖 Documentation

Detailed guides for each component:

  • 🎨 Frontend - React/Tailwind dashboard.
  • ⚙️ Backend - FastAPI and database schema.
  • 🧩 Extension - Chrome extension architecture.
  • 🔍 Parsers - Deep dive into ATS and LLM extraction logic.

About

AppCommit is a job application tracking platform that captures application snapshots, stores resume versions, and helps users review exactly what was submitted for each role.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors