Track Job Applications
Without Spreadsheets

Stop juggling Excel files. Track applications from any job board with a Chrome extension that keeps your data private and local on your machine.

โœ“ 100% Local    โœ“ No Cloud Sync    โœ“ Your Data Stays Private

Tired of This?

๐Ÿ“Š

Messy Spreadsheets

Manually copying company names, job titles, and URLs into Excel

โ“

Lost Track

"Did I already apply here? When did I submit this?"

๐Ÿ”’

Privacy Concerns

Job search data uploaded to cloud services you don't control

๐Ÿคฏ

Application Chaos

50+ applications across multiple stages - no clear overview

Everything You Need to Stay Organized

๐ŸŽฏ

Smart Badge Detection

Extension badge shows if you've already applied to a company. Never submit duplicate applications again.

  • + Badge - New job detected
  • โœ“ Badge - Already tracked
  • ! Badge - Server offline
๐Ÿ“‹

Full Dashboard View

See all applications at a glance with filtering, search, and stage tracking.

  • Filter by stage (Applied, Interviewing, Offers, etc.)
  • Search by company or job title
  • Inline stage updates
  • Stats bar showing pipeline progress
๐Ÿ”„

Stage Tracking

Track applications through your entire job search journey.

  • In Inventory โ†’ Applied โ†’ Phone Screen
  • Interviewing โ†’ Offer โ†’ Accepted
  • Full audit trail of stage changes
  • Auto-populate dates on transitions
๐ŸŒ

Works on Major Job Boards

Automatically detects job pages on popular platforms.

  • Greenhouse, Lever, LinkedIn
  • Workday, Indeed, Ashby
  • BambooHR and any custom career pages
  • Pre-fills company and job title from page
๐Ÿ“

Notes & Timeline

Keep track of communications, interview dates, and follow-ups.

  • Add notes to any application
  • Timeline view of all activities
  • Track contact names and emails
  • Store salary ranges and locations
๐Ÿ“ฅ

CSV Import

Already tracking applications elsewhere? Import your existing data.

  • Import from Excel or Google Sheets
  • Automatic stage mapping
  • Preserves dates and notes
  • Duplicate detection on import

See It In Action

What the experience looks like while you're browsing for jobs

greenhouse.io/jobs/acme-corp/senior-engineer
+
Acme Corp
Senior Software Engineer
San Francisco, CA ยท Full-time ยท $160kโ€“$200k
Apply Now
+
New job detected Haven't tracked this yet
โœ“
Already tracked Applied 3 days ago โ€” Phone screen scheduled
!
Server offline Start the local server to resume tracking

Instant Job Status at a Glance

Every job page you visit shows a badge telling you exactly where that application stands โ€” before you even click "Apply".

  • + โ€” New job, never tracked
  • โœ“ โ€” Already in your pipeline
  • ! โ€” Server needs to be started

The badge uses URL normalization and SHA256 hashing to catch duplicates even when the URL has query parameters or slight variations.

Install and try it โ†’

One-Click to Add

Click the extension icon on any job listing and the company name, title, and URL are pre-filled from the page. Just confirm and save.

  • Auto-extracts company name and job title
  • Pre-fills URL for later reference
  • Add notes before you forget context
  • Works on 8+ job boards automatically
  • Manual entry for any other site
Install and try it โ†’
Job Applications
12 Applied 3 Interviewing 1 Offer
All Applied Phone Screen Interviewing Offer
Company Role Stage Applied
Stripe Staff Engineer Interviewing Feb 18
Notion Senior Backend Eng Phone Screen Feb 20
Linear Product Engineer Applied Feb 22
Vercel Platform Engineer Applied Feb 24

Your Entire Pipeline at a Glance

The dashboard shows all your applications in one view with stage filtering, search, and inline status updates.

  • Stats bar showing pipeline summary
  • Filter by any stage with one click
  • Update status inline โ€” no page reload
  • Click any row to see full detail, notes, timeline
  • Works offline โ€” your data is always local
Install and try it โ†’

How It Works

Get up and running in 3 simple steps

1

Install the Extension

Add the Chrome extension and start the local server. Your data is stored in a SQLite database on your machine at ~/data/job-applications.db

2

Browse Job Boards

Visit any job posting on Greenhouse, Lever, LinkedIn, or other major platforms. The extension automatically detects job pages and shows a badge indicator.

3

Track & Organize

Click the extension icon to add applications with one click. View your dashboard to see all applications, update stages, add notes, and stay organized.

Built With

Python 3.11+ โ€ข FastAPI โ€ข SQLite โ€ข Chrome Extension (Manifest v3) โ€ข Local-First Architecture

Your Data Stays Private

Local-first means your job search data never leaves your machine

๐Ÿ”

100% Local Storage

All data stored in SQLite on your machine. No cloud uploads, no third-party servers, no data sharing.

๐Ÿ 

Runs Locally

Server binds to 127.0.0.1 only - not accessible from your network or the internet.

๐Ÿšซ

No Analytics Tracking

We don't track your usage. No cookies, no telemetry, no user tracking of any kind.

๐Ÿ’พ

You Own Your Data

Export to CSV anytime. Delete the database whenever you want. Your data, your control.

Why local-first matters: Your job search is sensitive information. Companies you're targeting, salary expectations, rejection history - this shouldn't be stored on servers you don't control. With JobTracker, your data lives on your machine and nowhere else.

What Job Seekers Are Saying

Join others who've organized their job search

"Finally ditched my messy spreadsheet. The duplicate detection alone has saved me from embarrassing double applications."

JD
Job Seeker Software Engineer

"Love that my data stays on my machine. No more worrying about who has access to my job search history."

AS
Job Seeker Product Manager

"The Chrome extension integration is seamless. Add applications with one click while browsing. Exactly what I needed."

MK
Job Seeker Data Analyst

How JobTracker Compares

See why local-first beats cloud-based alternatives

Feature JobTracker Cloud Tools Spreadsheets
Data Privacy โœ“ 100% Local โœ— Cloud Storage โœ“ Local Files
Chrome Extension โœ“ One-Click Add โœ“ Some Have It โœ— Manual Entry
Duplicate Detection โœ“ Automatic ~ Sometimes โœ— Manual Check
Cost โœ“ Free Forever โœ— $10-30/month โœ“ Free
Setup Time ~ 5 minutes โœ“ Instant ~ Manual Setup
Stage Tracking โœ“ Full Pipeline โœ“ Full Pipeline ~ Basic Status
Open Source โœ“ View Code โœ— Closed Source N/A

Choose privacy without sacrificing features.

Get Started Free

Frequently Asked Questions

Is my data really private?

Yes. Everything is stored locally in a SQLite database at ~/data/job-applications.db on your machine. The server runs only on your computer (127.0.0.1) and is not accessible from the network. No data ever leaves your machine.

Which job boards are supported?

The extension automatically detects job pages on Greenhouse, Lever, LinkedIn, Workday, Indeed, Ashby, BambooHR, and any website with /careers/ or /jobs/ in the URL. You can also manually add applications from any website.

Can I import my existing spreadsheet?

Yes! There's a CSV import script that handles Excel or Google Sheets exports. It automatically maps stages and preserves your existing data including dates, notes, and application history.

Does it work on Mac, Windows, and Linux?

Yes. The server is Python-based and runs on macOS, Windows, and Linux. The Chrome extension works on any platform that supports Chrome or Chromium-based browsers.

How do I know if I've already applied to a company?

The extension badge shows a โœ“ if you've already tracked that job URL. The system uses URL normalization and SHA256 hashing to detect duplicates even if the URL has query parameters or slight variations.

Can I access my data from multiple computers?

Currently it's single-machine only since the database is local. You could sync the database file using Dropbox or similar, but we don't provide official multi-device sync to maintain the privacy-first design.

Is this open source?

The project is available on GitHub. Check the repository for the full source code, license information, and contribution guidelines.

How much does it cost?

It's completely free. There are no premium tiers, no subscription fees, and no hidden costs. It's a local tool that runs on your machine.

Get Started in 5 Minutes

Free, local-first, and ready to use. Full installation guide with troubleshooting tips.

1
Clone the repo git clone github.com/junjizhi/job-application-tracking-system
โ†’
2
Start the server cd server && python app.py
โ†’
3
Load the extension chrome://extensions โ†’ Load unpacked