Skip to content

Repository files navigation

JobHuntOS Core

Local-first, human-controlled career workspace for official-source lead generation, resume-to-role validation, shortlist review, and approval-gated outreach.

JobHuntOS Core helps one person find roles from sanctioned public sources, evaluate them truthfully, and prepare next steps without turning the workflow into hidden automation.

Why This Exists

Most job-search tooling breaks in one of two ways:

  • it collapses into spreadsheets with weak provenance and no audit trail
  • it pushes toward scraping, spam, or automation that hides what the system is doing

JobHuntOS Core takes the opposite approach. It is designed to help a human decide what to do next, keep the workflow reviewable, and make every externally visible action explicit.

What It Is

  • a local FastAPI + React application with SQLite as the source of truth
  • a compliance-first product for ingesting roles from official public ATS endpoints
  • a truthful resume-to-role validation workspace
  • a shortlist and dossier workflow with provenance, confidence, and risk flags
  • a draft-first outreach workflow with visible approval gates
  • a demo-first repo with a synthetic public walkthrough

What It Is Not

  • not an auto-apply bot
  • not a browser automation agent
  • not a scraper for LinkedIn, Indeed, or restricted job boards
  • not a recruiter spam tool
  • not a hidden messaging system

Start Here: Public Demo

Demo mode is the primary public path. It uses synthetic data and stays separate from any real local workspace.

python -m venv .venv
.venv\Scripts\activate
python -m pip install -e .[dev]
npm install --prefix frontend
npm run build --prefix frontend
python -m jobhunt_os.cli seed-demo --app-home .fresh_runtime\demo
python -m jobhunt_os.cli demo-ui --app-home .fresh_runtime\demo --host 127.0.0.1 --port 8011

Open http://127.0.0.1:8011.

Public demo walkthrough:

  1. Dashboard: understand the workflow in under two minutes
  2. Source Hub: see compliant public-source ingestion
  3. Resume Fit: compare a stored resume against a role truthfully
  4. Shortlist: review strategy-ranked opportunities
  5. Dossiers: inspect provenance, confidence, and risk
  6. Outreach: review draft-only, approval-gated next steps

More detail: Quickstart Demo

Why It Matters

This repo is differentiated by the combination of:

  • official ATS lead generation Greenhouse, Lever, and Ashby via sanctioned public endpoints
  • truthful Resume Fit compare what a resume actually supports, surface gaps, and save a role packet without inventing experience
  • strategy-aware shortlist + dossiers prioritize candidate-relevant roles, not just salary, and explain why a role made the cut
  • approval-gated outreach keep drafts, review state, and human confirmation explicit
  • demo-first transparency the public repo is understandable without live credentials or real user data

Feature Overview

Area Included in Core Why it matters
Official ATS source adapters Yes Compliant lead generation from Greenhouse, Lever, and Ashby
Resume Fit workspace Yes Truthful role matching, gap detection, and apply-ready notes
Shortlist + dossiers Yes Ranked decisions with provenance, confidence, and risk flags
Approval-gated outreach Yes Draft-first workflow with visible review and send boundaries
Demo mode Yes Synthetic, public-safe walkthrough of the full product
Resume Vault Yes Local storage and preview for lane-specific resume assets
Diagnostics + audit log Yes Visibility into runtime state, approvals, and workflow history
Gmail workflow Optional Local OAuth only; not fully validated end-to-end without credentials
LinkedIn sign-in Optional OIDC-ready local setup; only validated when local credentials are configured
LinkedIn posting Conditional Requires approved LinkedIn product and w_member_social
Tauri shell Packaging-prep only Present for future desktop packaging, not a shipped headline feature
Auto-apply No Explicitly out of scope

Product Tour

Dashboard

Dashboard

The dashboard explains the product quickly: public-source intake, human control, next actions, and a synthetic demo checklist.

Source Hub

Source Hub

Source Hub shows which adapters are configured, how healthy they are, when they last refreshed, and whether they are producing shortlist-worthy roles.

Resume Fit

Resume Fit

Resume Fit compares a stored resume against an imported or pasted role, explains the fit score, highlights unsupported requirements, and saves a truthful role packet.

Shortlist

Shortlist

The shortlist is for ranked decisions, not raw volume. It surfaces candidate-relevant roles with clear next-step reasoning.

Dossier Drawer

Dossier Drawer

Each dossier consolidates source provenance, official careers URL, confidence, risk flags, fit notes, and recommended action.

Settings And Diagnostics

Settings Diagnostics
Settings Diagnostics

Settings keeps profile, integrations, source registry, and compliance reminders in one place. Diagnostics exposes runtime health, autostart state, logs, and auth status without leaving the app.

Design Principles

  • Local-first The product is designed to run on one machine with local storage and explicit runtime paths.
  • Human-controlled Review, approval, and manual action stay visible. Nothing should quietly act on a user’s behalf.
  • Truthful resume adaptation Resume Fit and role packets should surface gaps, not fabricate capability.
  • Approval-gated outreach Outreach remains draft-first, with explicit confirmation before any send-capable integration is used.
  • Provenance and auditability Leads, dossiers, and decisions should be explainable and traceable.
  • No restricted scraping or hidden automation Official public feeds only. No login automation, no DM automation, no auto-apply.

Architecture

flowchart LR
    A[Official public ATS feeds or local imports] --> B[Source adapters / normalization]
    B --> C[Deduped leads]
    C --> D[(SQLite)]
    D --> E[Shortlist + dossiers]
    D --> F[Resume vault + Resume Fit]
    D --> G[Draft outreach + approvals]
    D --> H[Audit log + diagnostics]
    I[FastAPI backend] --> D
    J[React local UI] --> I
    K[Optional local integrations\nGmail, LinkedIn] --> I
Loading

Supporting docs:

Integrations

Gmail and LinkedIn exist as optional local integration surfaces, not as headline public features.

  • Gmail: local OAuth setup, approval-gated recipient flow, draft preview, and explicit send confirmation
  • LinkedIn: bounded workspace, OIDC-ready sign-in, and scope-gated posting only when the app actually has the required product approvals

These integrations should be treated as configuration-dependent. They are intentionally documented more conservatively than the core local workflow.

Who This Is For

  • engineers who want a local-first, inspectable career workflow
  • people who want structured sourcing and role review without hidden automation
  • founders, collaborators, and hiring managers evaluating product judgment around compliance and workflow reliability
  • open-source users who care about provenance, boundaries, and truthful automation support

Who This Is Not For

  • users looking for one-click job application automation
  • users expecting LinkedIn scraping or recruiter DM automation
  • users who want a cloud multi-user CRM
  • users who want unrestricted connector sprawl over explicit workflow boundaries

Local Operator Mode

The public repo is demo-first. If you want to run the real local operator workflow:

python -m jobhunt_os.cli startup-checks --mode operator --app-home .fresh_runtime\operator
python -m jobhunt_os.cli ui --mode operator --app-home .fresh_runtime\operator --host 127.0.0.1 --port 8010

Open http://127.0.0.1:8010.

Roadmap

Near-term roadmap, kept intentionally honest:

  • improve the public source registry workflow and source-quality analytics
  • continue tightening demo-first docs and screenshots
  • deepen Resume Fit explainability and role-packet ergonomics
  • keep Gmail / LinkedIn integration surfaces conservative and clearly bounded
  • stabilize packaging-prep for a future desktop shell without making it the main story

Contributing, Security, and Requests

  • contribution guide: CONTRIBUTING.md
  • security policy: SECURITY.md
  • architecture and workflow docs: docs/
  • issue templates:
    • bug report
    • source adapter request
    • integration idea

Release Trust Checks

Before using this repo publicly:

  • run the demo path and confirm screenshots still match
  • confirm no runtime DBs or generated private exports are committed
  • confirm optional integrations are documented honestly
  • confirm the app still says nothing gets sent automatically
  • confirm demo assets remain synthetic and safe to share

Checklist:

About

Local-first, human-controlled career workspace for lead discovery, role validation, shortlist management, and approval-gated outreach

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages