Job Application Tracker Auto-Log from Confirmation Emails
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script automatically detects job application confirmations on any webpage and logs them into a persistent tracker. When you submit an application and land on a confirmation page, the script extracts key details—company name, position title, application date, and confirmation number—and adds them to a dashboard. Each entry shows status (pending/offered/rejected), days since application, and optional notes. You can update statuses with dropdowns, add notes, archive old applications, filter by status, sort by date/company/status, and export all data as CSV for spreadsheet analysis. The tracker persists across page visits using GM_setValue, so your job search history stays intact.
WHERE IT RUNS
Works on any website that displays job application confirmations—company career portals, job boards (LinkedIn, Indeed, Glassdoor), application tracking systems (Greenhouse, Lever, Workday), or custom HR platforms. The script uses adaptive text pattern matching instead of site-specific selectors, so it works across thousands of different site designs without per-site configuration.
HOW TO USE
The panel appears automatically when you visit a page. If a confirmation is detected, it appears in the applications list. Each entry displays company, position, date, days since application, and status badge. Use the status dropdown to update applications to "Offered" or "Rejected" as you hear back. Click "✎ Note" to add interview notes or follow-up reminders. Use "📦 Archive" to hide old applications without deleting them, or "✕ Delete" to remove entries permanently. Filter the list by status (All/Pending/Offered/Rejected) and sort by newest first, oldest first, company, or status. Click "Detect Applications" to rescan the page for confirmations. Add applications manually by filling in the form. Export your entire tracker to CSV for resume gap analysis, interview tracking, or sharing with career counselors.
TECHNICAL MECHANISM: FOUR-PASS EXTRACTION WITH CONTEXTUAL INFERENCE
The script uses a TreeWalker to traverse all visible text nodes, filtering out script, style, and meta tags. On the first pass, it identifies text containing confirmation keywords (application received, thank you for applying, application submitted, confirmation number, we received your application, applied for). On the second pass, it extracts structured data: company names using three regex patterns (phrases like "at [Company]", "company: [Company]", or "[Company] Careers"), position titles using patterns like "position: [Title]" or "applied for [Title]", and confirmation numbers using regex for "confirmation/reference/job/req/application ID or #". On the third pass, it parses application dates from multiple formats (MM/DD/YYYY, MM-DD-YYYY, MM.DD.YYYY, YYYY-MM-DD, "DD Month YYYY", "Month DD, YYYY"). On the fourth pass, it queries elements with job-related class names (application, confirmation, job, candidate) and repeats the extraction on those containers. All detected entries are de-duplicated by company+position+date to avoid duplicates. The system generates unique IDs for each entry and preserves all data in GM_setValue with ISO date serialization, ensuring data survives page refreshes and browser restarts.
THE PANEL
The tracker appears in a draggable, resizable panel that remembers its position per site. Drag by the header to reposition, collapse to a compact icon with a click, and resize using the bottom-right corner. The panel snaps to screen edges for tidy placement and closes with the Escape key. All settings—sort order, filter preference, and show archived toggle—persist per website using GM_setValue, so your view returns exactly as you left it.
PLEASE NOTE
This script requires the free BotGentz extension to run. Job sites frequently change their confirmation page layouts; while the script is designed to adapt, occasional updates may be needed. The script reads only visible text content on the current page—it does not send data anywhere, store personal information, or access other tabs. All application data remains local in your browser via GM_setValue and is never transmitted. Date parsing relies on common date formats; if your confirmation page uses an unusual format, you can add applications manually.