Job Search Terminal
A free, source-available, local-first job-search dashboard for people who need structure, privacy, and better tools in a brutal job market.
Scan jobs. Score fit with AI. Generate tailored resumes. Track applications. Prepare for interviews. Keep your data on your machine.
No account. No subscription. No hosted database. Bring your own AI key — or run a model locally with Ollama and send nothing to the cloud at all.
Rather not do it yourself? If you already use an AI coding assistant, there is a ready-made prompt that installs it for you.
The job search is hard enough without another bill.
Too many people are looking for work right now. And too many tools ask those same people to pay monthly fees just to organize the chaos.
That never sat right with me.
This app is my attempt to make the job search a little less punishing. It is not magic. It will not apply for you. It will not guarantee interviews. But it can help you see what is worth your time, keep track of what you have done, and stop rebuilding the same resume and application answers from scratch every night.
See Job Search Terminal in action
What the app helps you do
Job Search Terminal is built around the work people actually do while job hunting: finding roles, evaluating fit, tailoring material, applying, following up, and preparing for conversations.
Scan job sources
Discover new roles from company career pages and configured job sources.
Evaluate fit
Use AI to compare roles against your profile, resume, skills, preferences, and deal breakers.
Tailor resumes
Generate role-specific resume drafts from your own base resumes, then edit before export.
Draft application answers
Prepare answers for application questions. The app never submits anything for you.
Track applications
See every application as a list or as a drag-and-drop board, and move each one along as you hear back.
Prepare for interviews
Build a library of your own work stories — what the situation was, what you did, how it turned out — by speaking them aloud and letting the app write them up.
What you can do in the first hour
The first goal is not perfection. The first goal is control.
Once the app is running, you can:
- Connect an AI service, or point the app at free AI running on your own computer.
- Upload or add your resume.
- Complete your career profile.
- Scan for jobs.
- Evaluate which roles are worth your time.
- Start tracking applications.
If you are not technical, use the AI setup prompt in the Documentation tab. Paste it into Claude Code or Codex and let it walk through the installation with you.
See how it works
Click any image to open a larger view.
Setup, features, and documentation
The documentation below is powered by Markdown so it can stay current as the app changes. Replace the files
in src/content/job-search-terminal/ and redeploy to update.
Overview
What this is
Job Search Terminal is a local job-search dashboard that runs on your computer. It helps you discover jobs, evaluate fit, tailor resumes, draft application answers, track applications, and prepare for interviews.
It is free to use, inspect, and adapt for non-commercial purposes under CC BY-NC 4.0. Commercial use requires written permission.
What this is not
This is not a job placement service. It does not guarantee interviews. It does not apply to jobs automatically. It does not replace judgment, networking, or human effort.
It is a tool to help you keep the work organized.
What you need
You need a computer, two free pieces of software (Node.js and Git), Google Chrome, and access to an AI service if you want to use the AI features.
The app can use OpenAI, Anthropic, or Google Gemini depending on what you configure.
What it costs
The app is free.
There is no subscription, no paid account, and no access fee. The only possible cost is AI usage, paid directly to the AI provider you choose. I do not charge for that and I do not sit between you and the provider.
Your data stays with you
Your job search data is stored locally on your machine. The app does not use a cloud account or hosted database.
AI requests are only sent when you choose to use an AI feature, such as job evaluation, resume tailoring, profile extraction, or answer drafting.
Who this is for
This is for people who want more control over their job search and are willing to run a local tool on their own computer.
It is especially useful if you are applying to many roles, tailoring resumes often, tracking multiple applications, or trying to make better decisions about where to spend your time.
Getting started
Follow this guide to install and run Job Search Terminal on your computer. You do not need to know how to code, but you do need to be comfortable opening a terminal or using an AI coding assistant to help with setup.
If you are not technical, open the “Prompt for AI on this page” section and use that prompt to have an AI assistant help you install the app step by step.
Go to AI setup promptLast updated: August 29, 2026
First, an honest check
Job Search Terminal runs on your own computer. That is what makes it free and private — and it is also the catch: you have to install it yourself. There is no Download button and no website to sign up for.
You do not need to know how to code. You do need to be willing to copy and paste about six lines of text into a plain-looking window, and to keep going when it prints things you do not recognise. That is genuinely the whole skill required.
If that sounds manageable, set aside about half an hour. Nothing here can damage your computer, and you can undo all of it later by deleting one folder. If it sounds miserable, that is a fair reaction — skip to the AI setup prompt below. It hands the whole job to an AI coding assistant such as Claude Code or Codex, though you will need one of those already set up. Failing that, ask someone who installs software for a living; this is a fifteen-minute favour for them.
What you are actually doing
Four things, in this order:
- Install two free pieces of software the app needs to run.
- Download the app itself.
- Give it a key so it can talk to an AI service — or point it at a free one running on your own computer.
- Start it up, then open it in your browser like any other website.
Words you will run into
The guide below uses a handful of terms without stopping to define them. Here is what they mean.
| Term | What it actually means |
|---|---|
| Terminal | A window where you type commands instead of clicking buttons. Every Mac and Windows PC already has one. The guide shows you how to open it. |
| Node.js | Free software that lets this app run, the way a media player lets a video file play. You install it once and never think about it again. |
| Git | Free software for downloading code and getting updates later. You will use it twice. |
| npm | Comes free with Node.js. It fetches the extra pieces of code the app needs. You type one command and it does the rest. |
| Repository, or “repo” | The online folder holding the app’s code. Cloning it means downloading your own copy. |
| Clone | Developer word for “download your own copy of”. When the guide says clone the repository, it means copy the app’s code onto your computer. |
| Dependencies | Those extra pieces of code. npm install collects them for you. |
| API key | A long password from an AI company that lets the app use their AI on your behalf. You paste it into the app once. You can skip this entirely by running Ollama, which is free AI software that runs on your own computer. |
localhost:3000 | The address of the app running on your own machine. It looks like a website, but nothing is on the internet — only you can reach it. |
| Port | A numbered slot a program uses to talk to your browser. This app uses 3000. If something else is already using it, the app will say so — closing the other program fixes it. |
| ATS | Applicant Tracking System — the software companies use to post jobs and sort applicants. Greenhouse, Lever and Ashby are common ones. The app reads jobs from them. |
| WSL | Windows Subsystem for Linux. A free Microsoft add-on that Windows users install so developer tools work properly. Only relevant on Windows. |
Getting Started
This guide explains what the app is, what you need to run it, and how to get it running on your computer — even if you have no development background.
What is this app?
Job Search Terminal is a local job-search dashboard that runs entirely on your computer. It helps you:
- Discover new job postings automatically from company career pages.
- Score each job against your career profile using AI.
- Generate tailored resumes for specific roles.
- Draft application answers for copy-paste (it never submits anything on your behalf).
- Track every application through the full funnel.
- Prepare for interviews with a STAR story bank and voice practice.
Your stored account data stays on your machine. There are no accounts, no subscriptions, and no cloud storage. The app contacts the internet only for the features you run: AI-provider requests, job scans, source discovery, and browser-board scanning.
What you need
| Requirement | Details |
|---|---|
| Computer | Mac, Windows (WSL), or Linux |
| Node.js | Version 20 or later — download from nodejs.org |
| Git | Download from git-scm.com |
| An AI provider | OpenAI, Anthropic, or Google Gemini API key — or Ollama running locally |
| A Chrome-based browser | Needed for PDF export. Google Chrome is used automatically if it is installed in the usual place; otherwise see the PDF note below |
You do not need to know how to code. You just need to be comfortable opening a terminal (the black or white window where you type commands).
How to open a terminal
Mac: Press Command + Space, type Terminal, press Enter.
Windows: Press Windows key, type PowerShell, press Enter. (Or install
Windows Terminal for a better experience.)
Linux: Press Ctrl + Alt + T.
Step-by-step setup
1. Install Node.js
Go to nodejs.org, download the LTS version, and run the installer. Accept all defaults.
Verify it worked by opening a terminal and typing:
node --version
You should see something like v20.11.0.
2. Install Git
Go to git-scm.com, download the installer for your operating system, and run it. Accept all defaults.
Verify it worked:
git --version
3. Download the app
In your terminal, navigate to where you want to store the app (your Desktop or Documents folder works fine):
cd ~/Desktop
Then download the app:
git clone https://github.com/uxdesignlab/job-search-terminal.git
Once cloned, move into the project folder:
cd job-search-terminal
4. Install dependencies
This downloads everything the app needs to run:
npm install
It may take a minute or two. You will see a lot of text scrolling by — that is normal.
5. Add your AI provider
The app needs at least one AI provider to evaluate jobs and generate content. Cloud providers receive the text needed for the action you choose. Ollama runs models locally, so AI prompts stay on your machine when it is the active provider.
For cloud providers, you can use whichever service you have access to:
- Google Gemini (free tier): aistudio.google.com/apikey
- OpenAI: platform.openai.com/api-keys
- Anthropic: console.anthropic.com/settings/keys
To use Ollama, install it, pull a model, start the local server, and configure the Ollama base URL inside the app.
Configure your provider inside the app itself (Settings → AI Provider). You do not need to create any configuration files manually.
5a. Optional: Add job aggregator and source discovery keys
These are not required to use the app, but they significantly expand how many jobs and sources the app can find automatically.
Adzuna (job aggregator — free tier, 2,000 queries/month):
- Register at developer.adzuna.com to get a free App ID and API Key.
- Once configured in Settings → AI Provider → Discovery & Aggregators, the Dashboard Scan for new jobs button automatically runs an Adzuna scan in parallel with the ATS scan — no extra step needed.
- You can also run it independently from Settings → Sources → Job aggregators.
Brave Search (ATS source discovery — free tier, 2,000 queries/month):
- Register at brave.com/search/api to get a free API key.
- Once configured, the Search for companies button appears in Settings → Scan sources and finds new Ashby, Greenhouse, and Lever companies from live web search results (not just the Common Crawl archive).
Add both keys in Settings → AI Provider → Discovery & Aggregators.
6. Start the app
npm run dev
The terminal will print something like:
▲ Next.js 15.x
- Local: http://localhost:3000
Open http://localhost:3000 in your browser. The app will be running.
7. First-time setup in the app
When you first open the app at http://localhost:3000, the dashboard opens a guided setup flow:
Step 1: Add an AI API key Click the provider you want to use to expand the instructions. Pick one — you only need one:
- Google Gemini (free tier): go to aistudio.google.com/apikey, sign in with Google, click Create API key. Copy the key.
- OpenAI: go to platform.openai.com/api-keys, sign in, click Create new secret key. Copy the key.
- Anthropic (Claude): go to console.anthropic.com/settings/keys, sign in, click Create Key. Copy the key.
Choose one provider, paste its key, test the connection if needed, and save. Model selection and discovery integrations remain optional advanced settings.
Step 2: Upload your resume Click “Go to Profile → Resumes”. On the Resumes tab, each lane represents a different resume version. For any lane, click the blue “Upload PDF” button and select your resume file. The app extracts the text automatically.
After uploading, go to Profile → Overview and click “Extract with AI”. The AI reads your resume and populates your skills, target roles, preferences, and experience. Review each tab (Skills & Roles, Preferences, Constraints) and make any corrections.
Step 3: Confirm preferences and start scanning Confirm desired roles, title filters, and location mode. The Ready step offers an optional six-hour scan schedule while the local app is running. Open the Dashboard and click “Scan for new jobs” for an immediate scan.
Everyday use
| What you want to do | Where to go |
|---|---|
| Find new jobs (ATS + Adzuna if configured) | Dashboard → Scan for new jobs |
| Scan Adzuna independently | Settings → Sources → Job aggregators |
| Add a job from anywhere | Jobs → Add Job button |
| See all your jobs | Jobs |
| Evaluate a job | Jobs → click a job → Evaluation tab |
| Generate a tailored resume | Jobs → click a job → Resume tab |
| Prepare application answers | Jobs → click a job → Apply tab |
| Research a company | Jobs → click a job → Research |
| Draft a recruiter message | Jobs → click a job → Outreach |
| Track your applications | Applications |
| Practice for interviews | Interview Prep |
| Update your profile | Account → Profile |
| Upload or replace a resume | Account → Profile → Resumes tab |
| Add an AI key | Account → Settings → AI Provider |
| Add Adzuna or Brave Search keys | Account → Settings → AI Provider → Discovery & Aggregators |
| Discover new ATS sources | Settings → Scan sources → Crawl for companies or Search for companies |
| Review and approve discovered sources | Settings → Scan sources → Discovered sources |
| Check which sources are still live | Settings → Scan sources → Validate sources |
| See role fit strategy | Account → Strategy |
| Back up or restore the local account | Account → Settings → Data & Backup |
Adding jobs from anywhere
You are not limited to the jobs the scanner finds. Any job you see on LinkedIn, a company careers page, a job board, or hear about through a referral can be added and evaluated with AI.
How to add a job manually:
- Go to Jobs in the top navigation.
- Click the Add Job button.
- Fill in the details:
- Company — the employer name.
- Job Title — the exact title from the posting.
- Job URL — the link to the posting, so you can return to it later.
- Job Description — paste the full text of the job description. The more detail you include, the better the AI fit score.
- Click Submit Job. The app creates the job and opens it immediately.
Manual jobs go through the same pipeline as scanned jobs — fit scoring, resume tailoring, application tracking, company research, and outreach drafting all work exactly the same way. The fit score tells you whether it is worth applying before you invest time in a cover letter or tailored resume.
Good sources to add jobs from manually:
- LinkedIn job postings
- Wellfound, Work at a Startup, Glassdoor, Indeed, and Monster postings if you are not using the browser-board scanner
- Company careers pages
- Referrals and warm introductions (add what you know about the role)
- Jobs emailed to you by recruiters
- Any board the scanner doesn’t cover (Dice, Handshake, etc.)
Stopping and restarting
To stop the app: go to your terminal and press Ctrl + C.
To restart:
npm run dev
Updating the app
The footer of every page shows the version you are running, for example
Version 0.1.0 · b5bcb0d. Once a day the app asks GitHub whether newer commits
exist. When they do, the footer shows an Update available badge — open it to
see exactly what changed.
To update:
git pull
npm install
npm run dev
Turning the check off. The check sends only the commit your copy is built
from — nothing about you, your jobs, or your resumes — and it never delays a
page, because the answer is cached on your machine. If you would rather it never
contacted GitHub, start the app with JST_UPDATE_CHECK=off:
JST_UPDATE_CHECK=off npm run dev
The version keeps showing; only the GitHub call stops.
Backing up your data
Open Account → Settings → Data & Backup to create a portable .jst-backup
archive before migrations, cleanup, or moving the app to another machine. The
archive includes the database, resume files referenced by your resume lanes,
generated documents, approved source configuration, and scanner import
history. Every other file under assets/ is ignored.
Password protection is optional. If you create an unencrypted archive, the app asks you to acknowledge that it contains private resume data and locally stored provider credentials.
To restore an archive, choose the file in the same screen and click Inspect
backup. The app validates and previews the archive first. After you confirm,
it creates an automatic rollback backup before replacing managed local account
data. Unrelated files under assets/ remain untouched.
For a database-only SQLite snapshot, run:
npm run data:backup
Snapshots are saved to output/backups/. Export a readable JSON snapshot:
npm run data:export
Troubleshooting
The app won’t start
- Make sure you ran
npm installfirst. - Make sure no other app is using port 3000.
- Try stopping with
Ctrl + Cand runningnpm run devagain.
Pages show stale or missing data
- Restart the dev server.
- Run
npm run db:checkto verify the database.
PDF generation fails
PDF export drives a Chrome-based browser. The app finds one in this order:
- The path in
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH, if you set it. - Google Chrome at
/Applications/Google Chrome.app— macOS only. - A Chromium downloaded into Playwright’s browser cache.
The app installs playwright-core, which does not download a browser, so on
Windows and Linux — and on a Mac without Chrome in the standard location — step 3
finds nothing until you install one. Either:
-
Install a browser into that cache:
npx playwright-core install chromium -
Or point the app at a browser you already have. Add this to
.env.localand restart the app:PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/full/path/to/chromeOn Windows that is usually
C:\Program Files\Google\Chrome\Application\chrome.exe.
npm run document:check reads .env.local too, so the same setting applies when
you verify the fix.
No AI results
- Go to Settings → AI Provider and check that your key is entered and the correct provider is set as active. Use the “Test connection” button to verify.
Reset everything and start fresh
This deletes all local data and resets to an empty local profile:
npm run db:reset
Use with caution — this cannot be undone unless you have a backup.
Prompt for Claude Code or Codex (self-service setup)
If you want an AI coding assistant to set up and run this app with minimal manual work, paste the following prompt into Claude Code or Codex.
It will ask which AI provider you want and can set up Ollama for you, so you can finish the whole install without creating an account or paying for anything. If you pick a cloud provider instead, it opens the settings page and lets you paste your own key — it will not ask you to hand the key over.
Set up and run Job Search Terminal for me as a self-service local app.
Repository:
https://github.com/uxdesignlab/job-search-terminal.git
Goal:
Do the setup yourself end to end. Do not give me a list of terminal commands to
run. Use the terminal and browser tools available to you, verify each step, and
only ask me for information you cannot safely obtain or create yourself, such as
which AI provider I want to use or the local path to my resume PDF.
What to do:
1. Inspect the computer for required tools:
- Node.js 20 or newer (the project is tested on 22)
- npm
- Git
- Google Chrome or another Chromium browser for PDF generation
2. If a required tool is missing, try to install it using the normal package
manager for this computer, such as Homebrew on macOS, winget on Windows, or
apt/dnf/pacman on Linux. If installation requires administrator permission or
an approval prompt, ask me for that approval once, then continue after it is
granted. Do not stop at "please install this" unless there is no safe
automated installation path.
3. Create or reuse a local project folder:
- If the repository is already cloned, use the existing checkout, and delete
any `.next` folder inside it before continuing. A stale build cache left
over from an older commit is the most common cause of a confusing
first-run failure.
- If it is not cloned, clone it from the repository URL above.
- Avoid overwriting or deleting existing user data.
4. Install project dependencies with npm.
5. Run the project's verification checks:
- npm run lint
- npm run typecheck
Do not run `npm run build`. The development server does not need it, and it
roughly doubles the setup time for no benefit here.
6. Start the development server. If port 3000 is busy, use the next available
local port and tell me which URL is running.
7. Open the app in a browser yourself and verify the dashboard loads. Do not
simply tell me to open the URL.
8. Set up an AI provider. Ask me which I want before doing anything:
- Ollama runs a model locally on this computer. It is free, needs no account
and no API key, and no prompt text leaves the machine. If I choose this,
install Ollama if it is missing, pull a general-purpose model, start the
local server, then set the Ollama base URL in Settings -> AI Provider.
- A cloud provider (OpenAI, Anthropic, or Google Gemini) needs an API key
that I supply. If I choose this, open Settings -> AI Provider in the
browser and let me paste the key in myself. Do not ask me to send you the
key and do not type it on my behalf. Once I have pasted it, use the app's
connection test if available.
9. Complete the rest of the first-time setup:
- If a resume is needed, ask me for the local PDF path or use the browser file
picker if your tools support it. Upload it through Profile -> Resumes.
- Preserve multiple resume lanes. Do not merge everything into one universal
resume.
- Run profile extraction from Profile -> Overview after a resume is uploaded.
- Return to the dashboard and scan for jobs when setup is complete.
10. PDF export needs a Chrome-based browser. `npm install` pulls playwright-core,
which does not download one, and the app only auto-detects Google Chrome in
its standard macOS location. So on Windows and Linux, and on a Mac without
Chrome installed normally, either run `npx playwright-core install chromium`
or add PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH to `.env.local` pointing at a
browser that is already installed, then restart the server. Verify with
`npm run document:check`.
11. Safety rules:
- Never submit job applications, send emails, or message recruiters for me.
- Never delete resumes, generated documents, reports, backups, or tracked
application data unless I explicitly ask.
- Keep all data local. Do not paste my resume, my profile, or my API key
into any service other than this app.
12. If anything fails, read the actual error, fix what you can, retry once, and
then explain the blocker in plain language with the exact next approval or
input needed from me.
Finish by giving me the running local URL, what you verified, which AI provider
is active, and anything still needed from me.
Is this the same as Career-Ops?
No. Job Search Terminal was inspired by Career-Ops, but it is a separate project with a different product direction.
Career-Ops is a powerful CLI-first, agentic job-search system. Job Search Terminal is a browser-based, local-first dashboard designed to make the workflow more approachable for people who do not want to manage everything through AI coding tools and config files.
License note
Job Search Terminal is free for non-commercial use under CC BY-NC 4.0.
Commercial use requires written permission from the copyright holder.
Did this get you up and running?
Features
A plain-English summary of each part of the app. There is also a full technical reference, kept in step with the app automatically — it is thorough but heavy going, and you do not need it to decide whether to try this.
Dashboard
A command center for scan results, action queue, source status, recent activity, XP, and job-search progress.
Jobs
A full job pipeline with fit scores, filters, saved presets, bulk actions, archive tools, and manual job entry.
Job Detail
A tabbed workspace for evaluating a role, reviewing fit, generating a tailored resume, preparing answers, researching the company, and drafting outreach.
Applications
Tracks every application from sent to offer. View them as a list or a drag-and-drop board, and get told when a follow-up is overdue.
Resumes
A resume studio for multiple base resume lanes, generated documents, editing, keyword coverage, preview, and PDF export.
Interview Prep
A library of your own work stories. Say an answer out loud and the app writes it up as a clear, repeatable story you can reuse in interviews.
Profile
A career profile system that captures goals, skills, role direction, preferences, constraints, resumes, and writing voice.
Strategy
A role-fit map that helps users understand direct-fit, adjacent, selective, and avoid-role categories.
Analytics
Shows what is actually working: how many applications turn into replies, which kinds of roles respond best, and where your resume keeps falling short.
Settings
Controls for AI providers, job sources, title filters, custom job boards, preferences, and fallback models.
Evidence Bank
A store of confirmed accomplishments and metrics that keeps generated resumes grounded in things you actually did.
Job scanning
Scans company ATS boards (Greenhouse, Lever, Ashby) plus Dice, Himalayas, and Adzuna, with title and location filters, freshness windows, and duplicate detection.
Data and privacy
Data is stored locally in a SQLite database on the user's machine, with backup and export commands available.
Last updated: September 13, 2026
What’s new
The app is updated continuously rather than in numbered releases. This list regenerates daily from the project’s commit history, so it is never out of date.
Changelog
Recent changes, taken straight from the project’s commit history. Job Search Terminal has no formal release cycle — it is updated continuously, and this page is regenerated daily.
September 2026
- Use salary research only while it still describes the job (6ba7f3c)
- Stop timed-out local attempts and give AI answers the salary research (4f32025)
- Skip stale local requests and update late compensation in place (2aabc40)
- Fix resume review findings: slow searches, local fallback, empty summaries, removed sections (06bdd0a)
- Write each part of a resume on its own, check it, and regenerate one section at a time (e057f1e)
- Write resumes in minutes, and keep working when a provider runs out of credits (caf1a70)
- Search Adzuna for words that exist, and say when it finds none (1c9d546)
- Fetch the description Greenhouse actually points at, and say when it fails (2d4a058)
- Stop sending every job description to the browser to draw a table (ea4fb5e)
- Treat a region’s aliases as one region, and cover the whole Caribbean (6dd25af)
- Offer the region groups the location picker always understood (20e1e36)
- Link a company name to every position you have there (aa4c54d)
Shipped so far
A retrospective timeline of the project’s major milestones, reconstructed from the commit history. Job Search Terminal has never cut formal releases, so these version labels were assigned after the fact — they are here to make the arc readable, not to describe builds you could have downloaded at the time.
| Date | What shipped | |
|---|---|---|
| 0.11 | Aug 2026 | Evaluation integrity — AI work staged by pipeline stage, cancel handling, clearer failure messages |
| 0.10 | Aug 2026 | Location precision and source quality — Himalayas lane, split location preferences, Ashby repost dedupe, Evidence Bank |
| 0.9 | Jul 2026 | ATS keyword tailoring; scan progress and freshness windows |
| 0.8 | Jul 2026 | Interview prep overhaul — core-story workspace, durable practice |
| 0.7 | Jun 2026 | Dice MCP scanner; approval-gated email job-alert imports |
| 0.6 | Jun 2026 | Adzuna aggregator, Brave discovery, source validation, fresh scanner |
| 0.5 | May 2026 | Job discovery expansion — browser-board imports, LinkedIn scanner, ATS scanning |
| 0.4 | May 2026 | Resume builder — section-mode generation, from-scratch resumes |
| 0.3 | May 2026 | Guided onboarding wizard; multi-question application assistant |
| 0.2 | May 2026 | Renamed to Job Search Terminal; profile tabs, resume lanes, docs restructure |
| 0.1 | Apr 2026 | Foundation — local data model, profile intelligence, scanner, evaluation, resume generation, application tracker |
Roadmap
Where the project is going, straight from the repository. The Not planned list matters as much as the rest: it is a commitment about what this tool will never do.
Last updated: June 12, 2026
Roadmap
Job Search Terminal is in early public development.
Current focus
- Improve setup experience
- Add screenshots and demo data
- Strengthen privacy and legal documentation
- Improve job source discovery
- Improve AI evaluation transparency
- Improve resume tailoring controls
- Improve accessibility and keyboard navigation
Fresh search scanner — mostly complete
Add a hybrid fresh-job discovery lane modeled on the Google searches at pavel.ux.business/24h.
- ✅ Run unattended Brave Search scans for jobs indexed in the past 24 hours.
- ✅ Start with Greenhouse, Lever, Ashby, Workday, and jobs/careers subdomains.
- ✅ Route confidently parsed jobs through the existing local import, freshness, dedupe, notification, and liveness pipeline.
- ✅ Low-confidence imports (missing/short description) land in a review queue on the Jobs page — Approve to keep, Dismiss to archive.
- Add an agent-assisted Chrome workflow for exact Google 12-hour searches (partial — documented in CLAUDE.md).
- Preserve the local-first boundary: never auto-apply, click Apply, or send job data anywhere except the configured search API and local dashboard.
Next phase — Public ATS source bank
Add a curated, release-versioned catalog of Greenhouse, Lever, and Ashby sources so users can choose relevant companies instead of scanning a broad default list. See docs/source-bank.md for the saved implementation approach.
- Recommend sources from profile industries and preferred countries while keeping the full catalog available for browsing.
- Let users filter the catalog by industry, hiring coverage, and ATS provider.
- Add an onboarding source-selection step for new installs and preserve existing local portal configurations.
- When a manually added job reveals a supported ATS board, offer to track that company for future scans after explicit confirmation.
- Keep Common Crawl and Brave Search discoveries separate from the curated public catalog.
Planned improvements
- Expand fresh-search coverage beyond the initial ATS and careers-domain set
- Consider optional hosted read-only source-bank refreshes after the bundled local-first catalog workflow is proven
- More transparent fit scoring explanations
- Stronger application funnel analytics
- Safer rejection/archive handling
- Better backup and restore UX
- Improved generated resume editor
- More interview prep workflows
- Optional import/export flows
- Jooble API integration — add Jooble as a second job aggregator source alongside Adzuna; free API key, same scan-and-import pattern, covers a broad range of listings from across the web
- Lensa browser-board source — add Lensa as a browser-assisted scan target (Claude Desktop); no public API exists, so agent-driven browsing is the only viable path
Not planned
- Auto-submitting applications
- Spam outreach workflows
- Hosted user accounts by default
- Hidden telemetry
- Selling user data
- Commercial use without permission under the project license
Inspired by Career-Ops
Job Search Terminal was inspired by Career-Ops by Santiago Fernández.
Career-Ops is a powerful MIT-licensed AI job-search system built around agentic CLI workflows, Claude Code, Gemini CLI, job scanning, scoring, tailored PDF generation, and pipeline tracking.
Job Search Terminal follows a different product direction: a local-first visual dashboard with guided setup, structured application tracking, resume lanes, interview prep, and support for OpenAI, Anthropic, and Google Gemini.
Both projects share the same basic belief: job seekers need better tools, and those tools should not add more friction to an already exhausting process.
Career-Ops GitHub repository · Career-Ops system article
| Career-Ops | Job Search Terminal |
|---|---|
| CLI / agentic workflow | Browser-based visual dashboard |
| Optimized for Claude Code and power users | Designed for broader job seekers |
| Markdown, YAML, TSV, and generated reports | SQLite-backed local app |
| Strong batch automation | Strong application tracking and UX flow |
| Terminal dashboard | Web dashboard with guided setup |
| Claude Code first | OpenAI, Anthropic, and Gemini provider support |
| MIT licensed | CC BY-NC 4.0, non-commercial use only |
Want to help improve it?
This started as a practical tool for people trying to survive the job search. It can become better if more people touch it.
Developers can help simplify installation, improve scanning, package the app, and fix bugs.
Designers can help improve onboarding, accessibility, empty states, and workflow clarity.
Career coaches and job seekers can help test the real-world process and tell us where the app breaks down.
If you want to contribute, start with the GitHub repository or reach out to me directly.
Get in touch
Found a bug, got stuck during setup, or want to help? Tell me what happened — the more specific, the more useful. You can also email pavel@ux.business directly.
Message sent.
Thanks — I read every one of these, and I’ll reply by email as soon as I can.
Job Search Terminal is a free, source-available tool licensed for non-commercial use under CC BY-NC 4.0. It does not guarantee interviews, job offers, recruiter responses, or application outcomes. You are responsible for reviewing all generated content before using it. You are also responsible for following the terms of service of any job boards, AI providers, or third-party services you choose to use.
License
Job Search Terminal is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
You may use, share, and adapt it for non-commercial purposes with attribution.
Commercial use is not permitted without written permission from the copyright holder.
View license: https://creativecommons.org/licenses/by-nc/4.0/