npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

jobheist

v1.1.8

Published

Plan the perfect job heist - outsmart ATS filters with AI-powered resume analysis

Downloads

35

Readme

jobheist 💼

npm version License: MIT npm downloads

They're using AI to screen you out. Use AI to get in.

The Game Has Changed

Remember when getting a job was about being qualified? Now it's about gaming an algorithm.

Whether it's a startup or Fortune 500, companies use ATS to search and rank resumes. These systems don't reject you — they make you invisible. Wrong keywords = buried in their database while less qualified but better-optimized resumes rise to the top.

jobheist is your inside edge. It analyzes your resume against any job posting, shows you exactly what the ATS is looking for, and tells you what's missing. Consider it reconnaissance—knowing exactly what they're looking for before you make your move.

Time to even the odds.

How It Works

jobheist resume.pdf https://dream-company.com/perfect-role

# In seconds, you'll know:
# ✓ Your ATS compatibility score (0-100)
# ✓ Keywords you're missing
# ✓ Skills they want that you haven't mentioned
# ✓ Specific suggestions to improve your match

Powered by Firecrawl's intelligent scraping and OpenAI's latest models. Just 2 files, ~850 lines—because the best tools don't need to be complicated.

Quick Start

# One-time play
npx jobheist resume.pdf https://jobs.example.com/posting

# Or keep it in your arsenal
npm install -g jobheist
jobheist resume.pdf https://dream-company.com/perfect-role

The Intel

You wouldn't rob a bank without casing it first. jobheist gives you:

  • Match Score — Your probability of passing the ATS filter (0-100)
  • Missing Keywords — The exact terms they're scanning for that you don't have
  • Skill Gaps — Technologies and competencies to add (if you have them)
  • Strategic Recommendations — Specific changes to improve your odds
  • Confidence Indicators — How certain we are about each finding

Command Reference

# Standard analysis
jobheist resume.pdf https://example.com/job

# Export the intelligence (for tracking multiple applications)
jobheist resume.pdf https://example.com/job --format=json
jobheist resume.pdf https://example.com/job --format=xml

# Fresh analysis (bypass cache)
jobheist resume.pdf https://example.com/job --max-age=0

# Advanced operations
jobheist resume.pdf https://example.com/job --model=gpt-5 --verbosity=high

# See the AI's reasoning (understand the analysis)
jobheist resume.pdf https://example.com/job --reasoning=auto

# BYO credentials
jobheist resume.pdf https://example.com/job \
  --firecrawl-key=fc_xxx \
  --openai-key=sk-xxx

Setup

API Keys

You'll need two keys for this operation:

Configure them however suits your style:

The Mastermind (Global Config)

# Set once, use everywhere
echo "OPENAI_API_KEY=sk-xxx" >> ~/.jobheistrc
echo "FIRECRAWL_API_KEY=fc_xxx" >> ~/.jobheistrc
chmod 600 ~/.jobheistrc  # Keep it secure

The Ghost (Environment Variables)

export OPENAI_API_KEY=sk-xxx
export FIRECRAWL_API_KEY=fc_xxx

The Planner (Local .env)

# In your project directory
echo "OPENAI_API_KEY=sk-xxx" >> .env
echo "FIRECRAWL_API_KEY=fc_xxx" >> .env

The Freelancer (CLI Flags)

jobheist resume.pdf https://job-url \
  --openai-key=sk-xxx \
  --firecrawl-key=fc_xxx

Note: Priority order is CLI flags → env vars → .env → ~/.jobheistrc

For Developers

Building your own crew? Here's how to integrate:

import { ats, atsStream } from 'jobheist'

// Quick analysis
const score = await ats('resume.pdf', 'https://example.com/job')

// Real-time progress tracking
await atsStream('resume.pdf', 'https://example.com/job', {
  onProgress: (update) => {
    console.log(`Phase: ${update.phase}`)
  }
})

See the API Reference for complete documentation and Progress Phases for detailed callback documentation.

Under the Hood

jobheist assembles a precision team:

  • PDF Parser — Mozilla's pdfjs-dist extracts your resume text perfectly
  • Job IntelFirecrawl scrapes and structures job postings in seconds
  • Analysis EngineVercel AI SDK + OpenAI for intelligent pattern matching
  • Scoring Algorithm — Transparent 0-100 scoring based on keyword matches, skill alignment, and requirement coverage

Releases (How to bump & publish)

  • Patch: pnpm release (1.1.7 → 1.1.8)
  • Minor: pnpm release:minor (1.1.7 → 1.2.0)
  • Major: pnpm release:major (1.1.7 → 2.0.0)

Each command bumps version, tags, and pushes to trigger CI publish to npm.

Example Output

See example outputs for real sample analysis reports and what to expect.

Documentation

Development

git clone https://github.com/micahbrich/jobheist.git
cd jobheist
pnpm install
pnpm build
pnpm jobheist resume.pdf https://example.com/job

Philosophy

  • Simple is better: 2 files, ~850 lines, no magic
  • Fast by default: Streaming output, smart caching
  • Honest scoring: Real feedback to improve your chances
  • Unix-style: Does one thing well - analyzes job fit

License

MIT - Use it, fork it, improve it. Help others pull off the perfect job heist.


The perfect heist? Everyone wins. You land the job. They find their person. The algorithm never saw it coming.

Built by @micahbrich • Open to new opportunities