How to move from JobsTracker to HireWire
The honest version. There is no one-click import, because the two apps store different things. Here are the options that work, from simplest to most technical.
Short answer
- Export your JobsTracker data first (Export gives a JSON backup).
- HireWire can’t import JobsTracker files. Its Restore only accepts HireWire backups, and it replaces your pipeline rather than merging.
- Recommended: keep your JobsTracker history as a CSV, and use HireWire for new roles from its feeds.
What each app stores
JobsTracker export (jobstracker-backup-*.json) | HireWire backup (hirewire-backup-*.json) | |
|---|---|---|
| Top level | version, exportedAt, jobs, resume | app: "HireWire", version: 2, exportedAt, profile, byok, board, savedSearches, starBank, people, settings |
| Per application | company, link, dateAdded, status, notes, jdText, emailText, fit data | job (title, company, location, remote, tags, url, postedAt, description, salary fields, source), status, note, at, contacts, log, comp, next, stageTs, appliedAt |
| Job title | No separate field | Required |
| Statuses | —, Applied, Interviewing, Offer, Respond, Closed, Ghosted | saved, applied, screen, interview, offer, archived |
Two things block a direct import. HireWire only restores files marked "app": "HireWire". And HireWire normally only tracks postings from its own feeds, so it has no form for entering an outside application.
Option 1 (recommended): keep your history as a CSV
- In JobsTracker, click Export to download the JSON backup. Keep it, since it is your full record.
- Convert it to a CSV you can open in any spreadsheet. With Python installed, save this as
jt2csv.pyand runpython3 jt2csv.py jobstracker-backup.json:
import csv, json, sys
data = json.load(open(sys.argv[1]))
with open("jobstracker-history.csv", "w", newline="") as f:
w = csv.writer(f)
w.writerow(["Date added", "Company", "Status", "Link", "Notes"])
for j in data.get("jobs", []):
w.writerow([j.get("dateAdded", ""), j.get("company", ""),
j.get("status", ""), j.get("link", ""), j.get("notes", "")])
print("wrote jobstracker-history.csv")
- Open the CSV in Google Sheets, Excel or Numbers. Add a Role column (JobsTracker doesn’t store titles separately) and the columns from our recruiter posts guide if you want follow-up dates.
- Open HireWire, set your skills and salary floor, and pin new roles from the wire. If an active application of yours is on the wire (for example, it is posted on a Greenhouse or Lever board HireWire reads), pin it and set its stage. That carries it over properly.
Option 2 (advanced): build a HireWire backup file
Technically, a HireWire backup is plain JSON. A file shaped like the one below will restore, and its entries will appear on My Board. This is not an official import, so be aware of the limits:
- Restore replaces your existing HireWire pipeline (and profile, people and saved searches, if those keys are present). Back up HireWire first, or merge entries into your existing backup’s
boardarray. - Imported entries have no feed source, so they won’t refresh and some features (full-description fetch, source yield) won’t do anything useful for them.
- Entries in applied or screen whose
atdate is more than 14 days old will show as “quiet” straight away.
{
"app": "HireWire",
"version": 2,
"board": [
{
"id": "import:jt:1",
"status": "applied",
"note": "Imported from JobsTracker",
"at": 1767225600000,
"job": {
"id": "import:jt:1", "source": "import",
"title": "Backend Engineer", "company": "Acme Corp",
"location": "—", "remote": "onsite", "tags": [],
"url": "https://example.com/job", "postedAt": 1767225600000,
"description": "", "salaryMin": null, "salaryMax": null,
"currency": "USD", "salaryText": ""
},
"contacts": [], "log": [], "next": null,
"stageTs": { "applied": 1767225600000 }, "appliedAt": 1767225600000
}
]
}
Dates are milliseconds since 1970 (UTC). Status mapping that fits most cases: Applied → applied, Interviewing → interview, Offer → offer, Respond → screen, Closed or Ghosted → archived, “—” → saved. A title and company are required on every job.
Restore the file with Restore… in the sidebar, or by dropping it on the page.
Before you delete JobsTracker data
Keep the original JobsTracker JSON. It holds pasted job descriptions, recruiter emails and your résumé text, none of which HireWire can store per application. JobsTracker exports are unencrypted even if you used its passphrase feature, so store the file somewhere private.
FAQ
Can HireWire import a JobsTracker backup?
No. HireWire’s Restore only accepts HireWire backup files, and HireWire has no import for other trackers. Keep your history as a CSV, or build a HireWire-format backup as described above.
Will restoring a backup merge with my existing HireWire data?
No. Restore replaces the pipeline, and the profile, people and saved searches if the file includes them. Back up first.
Does HireWire keep my résumé like JobsTracker does?
No. HireWire extracts skill keywords from pasted CV text and stores only the keywords.
Open HireWireFree, no account. Your profile, CV text and pipeline stay in this browser.
Open HireWire →