JobTracker Offer Kitty - Local-First macOS Job Application Tracker

SwiftUI/macOS/SQLite/GRDB/ZIPFoundation/Local-first desktop product engineering

Author: Regan Yin  |  Platform: macOS 14+ (Apple Silicon ready)  |  Version: 1.0.0
A local-first desktop app to track job applications from your own document folders, with SQLite persistence, structured workflow tracking, analytics views, and export support.

View on GitHub →

Executive Summary

Build Target
Swift 5.10+ / macOS 14+
Persistence
SQLite (GRDB)
Document Support
.docx parsing + .doc metadata
Core Principle
Local-first, manual override first
Views
Overview / Applications / Companies / Exports / Settings

JobTracker Offer Kitty turns unstructured job-material folders into structured company and application records. It prioritizes conservative inference, high transparency, and quick manual correction, so users keep full control over data quality while still getting dashboards, reminders, and exportable results.

Tech Stack

SwiftUI Swift Concurrency (async/await) SQLite GRDB ZIPFoundation Swift Package Manager macOS-native local app architecture

MVP Scope

In Scope

  • User-selected root folder scan with recursive parsing.
  • Artifact classification for application materials (.docx/.doc).
  • Role and company inference with confidence-aware rules.
  • Manual CRUD, duplicate suggestions, and merge workflows.
  • Analytics dashboards, KPI cards, reminders, and CSV export.
  • Fully local storage and operation without paid APIs.

Out of Scope (MVP)

  • Email/Outlook ingestion and mailbox automation.
  • LinkedIn scraping or browser automation.
  • Cloud sync and multi-user collaboration.
  • ML/LLM-based classification in core pipeline.
  • OCR-heavy document extraction.

Architecture

Layer Implementation Purpose
App Shell SwiftUI + AppState Navigation, theme, onboarding, global state
Data Ingestion FolderScanner + IngestionService Scan files, classify artifacts, infer role/application records
Domain Logic Classifier, normalizer, scoring, dedupe/merge services Transform signals into trackable entities with validation
Persistence AppDatabase + GRDB repositories Store companies, applications, tasks, and export artifacts
UI Features Overview/Applications/Companies/Exports/Settings Operations, analytics, review, and output

Product Features

  • Onboarding scan: one-time folder selection + immediate structured ingest.
  • Application funnel tracking: stage/outcome/last-failed-stage data model.
  • Company intelligence: mapping fields for industry and company size.
  • Duplicate governance: suggest duplicates, never auto-merge silently.
  • Export readiness: CSV outputs for external analysis and reporting.
  • Low-ops deployment: local app build path with optional packaging script.

Privacy, Security, and License

  • Privacy: no telemetry or cloud sync in core features; data remains local on device.
  • Storage path: ~/Library/Application Support/JobTracker/jobtracker.sqlite.
  • Security posture: dependency-based local build with no hidden remote backend.
  • License: non-commercial community license in repository; commercial use requires permission.

How to Run Locally

git clone https://github.com/Regan-Yin/JobTracker_Offer_Kitty.git
cd JobTracker_Offer_Kitty
swift package resolve
swift build
open .build/debug/JobTracker

Optional packaging script: Scripts/package_mac_app.sh for building a distributable .app and zip package.