Back to Projects

Project

JobHunt

Desktop Job Intelligence & Auto Apply Platform

A Tauri desktop app with a Go engine backend for multi-source job scraping, YAML-driven scoring, and an AI-assisted Auto Apply pipeline powered by Playwright and Groq.

GoSQLiteReactTypeScriptTauriPlaywrightGroq AIIMAPREST

Overview

JobHunt is a desktop job intelligence platform built to automate the full job search pipeline — from multi-source scraping and YAML-driven scoring to AI-assisted application form filling. It runs as a native desktop app (Tauri 2) with a Go engine backend, React frontend, and SQLite storage, designed for correctness and repeatability across scheduled runs.

JobHunt Architecture

JobHunt connects multi-source job ingestion through a Go engine backend, scoring pipeline, and REST/SSE API layer to a Tauri desktop client — with an Auto Apply pipeline that drives Playwright-based form filling via Groq AI.

sources

Job Sources

Greenhouse, Lever, Workday, SmartRecruiters, IMAP/LinkedIn email.

engine

Go Engine

Core backend: ingestion, normalization, dedup, company discovery.

score

Scoring & Filtering

YAML-configurable rules rank and filter jobs per user criteria.

db

SQLite Storage

Canonical job and application records with safe reprocessing.

api

REST + SSE API

Local API server with SSE live-update stream (no polling).

apply

Auto Apply Pipeline

Playwright scrapes real form fields; Groq AI fills them; user reviews and submits.

keyring

OS Keyring / Secrets

Groq API key and IMAP credentials stored in the OS keyring.

client

Tauri Desktop Client

React 19 + TypeScript frontend; optional browser extension for Greenhouse/Lever.

Service / Data Flow

Job SourcesGo Engine
Raw listings / email leads
Go EngineScoring & Filtering
Normalized records
Scoring & FilteringSQLite Storage
Ranked, persisted jobs
SQLite StorageREST + SSE API
Stored jobs
REST + SSE APITauri Desktop Client
Structured responses + SSE stream
Tauri Desktop ClientAuto Apply Pipeline
Apply action
Auto Apply PipelineTauri Desktop Client
Form fields → review → submit
OS Keyring / SecretsGo Engine
Secrets at runtime

What I built

  • Multi-source scraping across Greenhouse, Lever, Workday, SmartRecruiters, and IMAP/LinkedIn email with per-host rate limiting via a token-bucket algorithm
  • Idempotent ingestion with normalization, deduplication, and safe reprocessing designed for repeatable scheduled runs
  • YAML-driven scoring and filtering engine that ranks jobs against configurable criteria
  • Company discovery layer supporting name search, Lever sitemap crawl, Greenhouse seed lists, and URL extraction
  • REST API with SSE live-update stream so the frontend receives real-time pipeline events without polling
  • Auto Apply pipeline: Playwright scrapes real application form fields, Groq AI (llama-3.3-70b) generates fill values, user reviews before Playwright injects and submits
  • OS keyring integration for secure storage of the Groq API key and IMAP credentials
  • Optional browser extension for assisted form filling on Greenhouse and Lever postings
  • SQLite-backed storage with a clean store layer shared across the ingestion, scoring, and apply pipelines