Track fractional & contract work
like it's radar, not a chore.

An open-source, local-first tool that scans the sources you enable, gates every listing against your own ranked rate/hours profiles — explainably, never a black box — and keeps the apply step human-approved by default. Nothing hosted. The one optional exception is auto-fire: real submission automation you have to earn per source, with a kill switch always one click away.

Unsigned .dmg, Apple Silicon — macOS Gatekeeper will warn it's from an "unidentified developer"; that's normal for an unsigned build, not corruption. One line fixes it, see step 1. On another platform (or want to see the code first)? Run it from source — same app, any OS Node/Playwright supports.

gigradar dashboard showing tracked gigs with green/yellow tier badges, source, company, rate, and status columns
Features

Yours, on your machine.

Every install is single-user and local — your profile, criteria, and credentials never leave your machine unless you explicitly send them somewhere (like an LLM call you triggered yourself).

🔌 A real adapter per board

LinkedIn, GoFractional, A.Team, Wellfound, Braintrust, and more — nine and counting, each live-verified against the real site. Add another with config and a plugin — zero edits to the core.

GREEN Explainable gate + tiering

A deterministic pass/fail with a human-readable reason per rule, plus green/yellow/red role-area tiering so "unknown, worth a look" never gets silently dropped.

🎯 Ranked engagement profiles

Set a $250/hr fractional floor and a separate $700k full-time floor — every listing is checked against every profile it could match, not just the first one that fits.

🔒 Encrypted at rest by default

Config, secrets, and captured session files are AES-256-GCM encrypted automatically — the key never lives next to the data it protects.

🖱️ Guided browser login

Click "Capture login," a real browser opens, you log in normally (including Google/GitHub SSO) — no manual CLI dance, no pasted cookies.

✍️ Assisted by default

Applications are staged for human approval — nothing submits itself unless you opt in below. Your resume/links can seed your profile via an LLM call you explicitly trigger.

🚦 Graduated auto-fire, opt-in

Real submission automation — but only per source/tier, only after you've manually approved enough real drafts to earn it, and a kill switch that disables everything, instantly, no matter what.

⏰ Scheduled scans + real alerts

A cron-driven scheduler runs on your own machine, with per-source backoff and desktop notifications on new matches — plus a severity-tiered issues view so nothing silently fails in a log you never read.

📊 A dashboard, not a spreadsheet

Sort, filter, and search by tier and status, and track a listing from "new" through "applied" → "interview" → "archived" in one place.

How it works

Four steps, no hand-edited JSON.

The whole point is that you never have to hand-write a config file or run a CLI script to get set up.

1

Install

Download the .dmg (macOS), or clone and run npm install && npm run dev on any OS — either way, a local dashboard comes up at 127.0.0.1:3000, never exposed beyond your machine.

The .dmg is currently unsigned (no Apple Developer ID certificate yet — real notarized signing is on the roadmap). macOS Gatekeeper will block the first launch with an “unidentified developer” warning — that's Gatekeeper flagging an unsigned app, not a corrupted download. After dragging it to /Applications, run this once in Terminal, then launch normally:

xattr -cr /Applications/gigradar.app

2

Set your profile

Pick a role template or type your own — skills, rate floor, hours, and role-area keywords. Upload a resume and gigradar can suggest the rest.

3

Turn on sources

Public boards work immediately. Anything needing a login gets one click on "Capture login" — a real browser, your real credentials, never gigradar's.

4

Run the radar

npm run radar (or a schedule) scans every enabled source, gates and tiers each result, and the dashboard shows you what's worth a look.

MIT licensed. Fork it, extend it, point it anywhere.

gigradar's core knows nothing about any one person's job search — every source, criterion, and credential is your own local config. Add a source plugin without touching core code.

TypeScript Next.js SQLite Electron (optional) Zero telemetry Local-first
Star on GitHub →
Support

Free and open, always.

A few ways to help — or just say hi.

💼 Hire me

Fractional CTO & consulting — fixing and scaling tech stacks. mdostal.com/contact

☕ Buy me a coffee

If gigradar (or any of the tools) saved you time. buymeacoffee.com/mdostal

🧰 More tools

Small, sharp, open-source utilities I build and use. tools.mdostal.com

🌿 Life outside the terminal

What I'm up to when I'm not shipping. life.mdostal.com

🎪 Firefly Events

Event discovery, 8,000+ events/day from 7+ sources. ff.events