Building JobHunt OS: A Local-First Command Center for the Job Search
JobHunt OS is a local-first, self-hosted app for tracking applications, documents, contacts, interviews, follow-ups, and outcomes without sending private career data to a SaaS platform.
The job hunt is already hard enough
It doesn't matter if you're new to the job hunt or have been looking for a while, it's stressful and creates a ton of documentation. Some of you out there can keep everything sorted without a single bit of notes, but I personally like to keep track of everything so I'm best prepared. That includes applications, recruiters, resumes, interviews, follow-ups, compensation notes, outcomes, and more. As you research and apply to more jobs, this paper-trail becomes larger and unmanageable unless you are actively keeping track somehow.
The problem with spreadsheets and SaaS tools
I'll be the first one to say that spreadsheets are great. I use them all the time for work. They're fantastic for tracking data and presenting it in an ordered manner. They're definitely usable for the jobhunt but you've got to basically have a degree in Excel to really make them usable.
And then there are SaaS tools. Some of them are probably great, but I am increasingly uncomfortable handing sensitive career data to yet another hosted service. A job search can include salary notes, recruiter names, interview feedback, resumes, cover letters, and private decision-making. That is exactly the kind of data I would rather keep under my own control.
So what is JobHunt OS?
It's a local-first, self-hosted app for tracking applications, documents, contacts, next actions, interviews, and outcomes. It's a tool that you can selfhost and manage yourself. Something that gives you the ability to keep track of all the documentation stemming from a job hunt without giving those personal details to a company.
What it does today
This is still very much a work in progress. As of today, JobHunt-OS keeps track of your job applications, contacts, documents, and important events. It allows you to define next actions, statuses, and priorities and organizes everything in a single location. That means your important data is exactly where it should be instead of being fed to some SaaS company.
I've kept a few design principles at the forefront while building JobHunt-OS. The app was built with privacy in mind and that's the core tenet of the entire project. Privacy and Security are at the forefront of this project and will remain there in order to give users something they'd feel comfortable using in their own environments.
Why I built it this way
I'm an infrastructure engineer by day, and security tends to shape the way I think about almost everything. That does not mean JobHunt OS is magically secure just because it is self-hosted. Local-first software still needs thoughtful defaults, clear boundaries, and a small trusted base.
The design goals are:
-
Private by default: your job hunt data lives on your machine unless you explicitly move it somewhere else.
-
Manual first: the core app should work without email automation, scraping, AI, or background agents.
-
Small trusted base: prefer explicit code and limited dependencies over a giant framework stack.
-
Portable install: Docker Compose is the main self-hosted install path.
-
Escape hatch: import and export should make it possible to move away from the app later.
Under the hood, the current architecture is intentionally boring: a Go HTTP server, server-rendered templates, SQLite storage, local document storage, embedded migrations, and a Docker Compose deployment path.
That is exactly what I wanted.
Boring is good when the data matters.
What comes next
Like I mentioned, this project is still very much in its infancy and still growing. I hope to add the following features next:
Roadmap items:
- import from legacy YAML
- CSV export if needed
- redaction tooling for demos
- first-run setup
- better status transition history
- optional, read-only email metadata import
- opt-in/disableable AI-assisted drafting
Wrapping up
If you're interested and want to give it a try, I've got the project hosted in Github here: https://github.com/firblab-blog/jobhunt-os
I should have a thorough walkthrough of the deployment guide soon and will update once that's up.