A project for finding in demand tech skills in the job market and also find jobs...
See the code
Tech Stack Market Intelligence Engine and Data Analytics Dashboard
Track technology demand, skill pairings, and compensation benchmarks from live job posts.
Install the standalone binary without external dependencies:
curl -fsSL https://raw.githubusercontent.com/haydermuhib/StackCheck/main/install.sh | bash
curl.exe -L "https://github.com/haydermuhib/StackCheck/releases/latest/download/StackCheck-windows-x64.exe" -o StackCheck.exe; .\StackCheck.exe
You can also download StackCheck-windows-x64.exe directly from GitHub Releases. If Windows SmartScreen prompts on first launch, select More info, then Run anyway.
Run the web dashboard:
stackcheck
StackCheck collects live job listings from HiringCafe, extracts technical requirements with section-based weighting, and visualizes market statistics in a local Streamlit dashboard. It helps engineers and analysts evaluate technology demand, inspect skill combinations, and benchmark compensation across regional job markets.
| Capability | Description |
|---|---|
| Live job ingestion | Query by keyword, location (Pakistan, United States, United Kingdom, Germany, India, Remote), workplace mode (Remote, Hybrid, Onsite), experience level, and result limit. |
| Data cleaning and deduplication | Uses SHA-256 fingerprinting to remove duplicate listings across companies, and resolves location typos to canonical country names. |
| Section-aware priority weighting | Differentiates required skills (1.8x multiplier) from general responsibilities (1.0x to 1.2x) based on where they appear in the post. |
| Currency normalization | Converts foreign currencies (INR, PHP, EUR, GBP, CAD, PKR) to annual USD benchmarks with daily exchange rates and offline fallback tables. |
| Statistical charts | Displays top skill frequencies, co-occurrence heatmaps (such as Python with SQL, or Snowflake with dbt), and compensation spreads. |
| Interactive job explorer | Filterable table with options for experience level, country, and technology tags, with direct application links. |
| Standalone application | Self-contained executable with embedded runtime, local SQLite storage, and in-place GitHub updater. |
Standard job boards return search cards, but do not calculate aggregate market metrics. StackCheck processes job descriptions into structured analytics:
| Metric | Standard job board | StackCheck |
|---|---|---|
| Skill demand ranking | Search result cards only | Top technologies ranked by frequency and weighted score |
| Section weighting | Treats all text equally | Weights mandatory qualifications higher than general summaries |
| Skill pairings | Not available | Correlation matrices showing tools frequently requested together |
| Compensation benchmarks | Unstandardized numbers | Calculated minimum, median, and maximum bands with sample counts |
| Workplace spread | Not available | Compensation comparisons across remote, hybrid, and onsite listings |
| Skill breadth | Not available | Average number of technologies required per listing |
| Workspaces | Not available | Project-scoped searches with historical search runs |
| Data export | Web interface only | Local SQLite database with exports to CSV, JSON, and Markdown |
StackCheck is built to query origin servers responsibly without causing service disruption:
~/.stackcheck/stackcheck.db). Skill parsing, salary calculations, and chart generation run entirely on your local machine.┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ HiringCafe Public │────▶│ Deduplicator and │────▶│ Section-Aware │
│ API Client │ │ Country Normalizer │ │ Priority Weighting │
└──────────────────────┘ └──────────────────────┘ └──────────┬───────────┘
│
▼
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ Export Reports │◀────│ Streamlit Web UI │◀────│ Local SQLite Storage │
│ (CSV, JSON, Markdown)│ │ & Matplotlib OOP Ax │ │ (~/.stackcheck/*.db) │
└──────────────────────┘ └──────────────────────┘ └──────────────────────┘
src/stackcheck/client/hiringcafe.py: Requests payloads with pagination, workplace filters, and retry logic.src/stackcheck/client/normalizer.py: Title categorization, geographic aliases, and duplicate fingerprinting.src/stackcheck/analyzer/rule_extractor.py: Positional regex extractor separating requirements from general text.src/stackcheck/analyzer/metrics.py: Skill co-occurrence matrix, salary distributions, and weighted scoring.src/stackcheck/storage/repository.py: Multi-project SQLite repository managing schema migrations and upserts.src/stackcheck/launcher.py: Desktop launcher with free port selection and browser launch logic.src/stackcheck/updater.py: GitHub Releases update checker with timeout protection.# Installs to ~/.local/bin/stackcheck with desktop shortcut and icon
curl -fsSL https://raw.githubusercontent.com/haydermuhib/StackCheck/main/install.sh | bash
# Launch dashboard
stackcheck
git clone https://github.com/haydermuhib/StackCheck.git
cd StackCheck
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
streamlit run app.py
# Build standalone folder distribution
python build_app.py --onedir
# Or build single-file binary
python build_app.py --onefile
# Launch web dashboard
stackcheck
# Print version
stackcheck -v
# Check status of running dashboard process
stackcheck status
# Verify runtime dependencies
stackcheck check
# Stop running dashboard process
stackcheck stop
# Check for updates and upgrade in-place
stackcheck update
# Query jobs for a role and location
stackcheck search "Data Analyst" --location "United States" --limit 30
# Query remote backend engineering jobs
stackcheck search "Backend Engineer" --workplace remote --limit 50
# Export dataset
stackcheck export --format all
Run the unit test suite:
pytest tests/
| Command or file | Purpose |
|---|---|
stackcheck | Launch local web dashboard |
stackcheck -v | Print installed version |
stackcheck status | Check server status, process ID, and port |
stackcheck check | Verify runtime dependencies |
stackcheck stop | Stop running dashboard process |
stackcheck search <query> | Query live jobs into local SQLite storage |
stackcheck export --format all | Export dataset to CSV, JSON, and Markdown |
stackcheck update | Update binary from GitHub Releases |
| index.html | Landing page |
| CONTRIBUTING.md | Contribution guidelines and developer setup |
| LICENSE | MIT License |
This project is licensed under the MIT License.
A project for finding in demand tech skills in the job market and also find jobs...
See the code
Tech Stack Market Intelligence Engine and Data Analytics Dashboard
Track technology demand, skill pairings, and compensation benchmarks from live job posts.
Install the standalone binary without external dependencies:
curl -fsSL https://raw.githubusercontent.com/haydermuhib/StackCheck/main/install.sh | bash
curl.exe -L "https://github.com/haydermuhib/StackCheck/releases/latest/download/StackCheck-windows-x64.exe" -o StackCheck.exe; .\StackCheck.exe
You can also download StackCheck-windows-x64.exe directly from GitHub Releases. If Windows SmartScreen prompts on first launch, select More info, then Run anyway.
Run the web dashboard:
stackcheck
StackCheck collects live job listings from HiringCafe, extracts technical requirements with section-based weighting, and visualizes market statistics in a local Streamlit dashboard. It helps engineers and analysts evaluate technology demand, inspect skill combinations, and benchmark compensation across regional job markets.
| Capability | Description |
|---|---|
| Live job ingestion | Query by keyword, location (Pakistan, United States, United Kingdom, Germany, India, Remote), workplace mode (Remote, Hybrid, Onsite), experience level, and result limit. |
| Data cleaning and deduplication | Uses SHA-256 fingerprinting to remove duplicate listings across companies, and resolves location typos to canonical country names. |
| Section-aware priority weighting | Differentiates required skills (1.8x multiplier) from general responsibilities (1.0x to 1.2x) based on where they appear in the post. |
| Currency normalization | Converts foreign currencies (INR, PHP, EUR, GBP, CAD, PKR) to annual USD benchmarks with daily exchange rates and offline fallback tables. |
| Statistical charts | Displays top skill frequencies, co-occurrence heatmaps (such as Python with SQL, or Snowflake with dbt), and compensation spreads. |
| Interactive job explorer | Filterable table with options for experience level, country, and technology tags, with direct application links. |
| Standalone application | Self-contained executable with embedded runtime, local SQLite storage, and in-place GitHub updater. |
Standard job boards return search cards, but do not calculate aggregate market metrics. StackCheck processes job descriptions into structured analytics:
| Metric | Standard job board | StackCheck |
|---|---|---|
| Skill demand ranking | Search result cards only | Top technologies ranked by frequency and weighted score |
| Section weighting | Treats all text equally | Weights mandatory qualifications higher than general summaries |
| Skill pairings | Not available | Correlation matrices showing tools frequently requested together |
| Compensation benchmarks | Unstandardized numbers | Calculated minimum, median, and maximum bands with sample counts |
| Workplace spread | Not available | Compensation comparisons across remote, hybrid, and onsite listings |
| Skill breadth | Not available | Average number of technologies required per listing |
| Workspaces | Not available | Project-scoped searches with historical search runs |
| Data export | Web interface only | Local SQLite database with exports to CSV, JSON, and Markdown |
StackCheck is built to query origin servers responsibly without causing service disruption:
~/.stackcheck/stackcheck.db). Skill parsing, salary calculations, and chart generation run entirely on your local machine.┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ HiringCafe Public │────▶│ Deduplicator and │────▶│ Section-Aware │
│ API Client │ │ Country Normalizer │ │ Priority Weighting │
└──────────────────────┘ └──────────────────────┘ └──────────┬───────────┘
│
▼
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ Export Reports │◀────│ Streamlit Web UI │◀────│ Local SQLite Storage │
│ (CSV, JSON, Markdown)│ │ & Matplotlib OOP Ax │ │ (~/.stackcheck/*.db) │
└──────────────────────┘ └──────────────────────┘ └──────────────────────┘
src/stackcheck/client/hiringcafe.py: Requests payloads with pagination, workplace filters, and retry logic.src/stackcheck/client/normalizer.py: Title categorization, geographic aliases, and duplicate fingerprinting.src/stackcheck/analyzer/rule_extractor.py: Positional regex extractor separating requirements from general text.src/stackcheck/analyzer/metrics.py: Skill co-occurrence matrix, salary distributions, and weighted scoring.src/stackcheck/storage/repository.py: Multi-project SQLite repository managing schema migrations and upserts.src/stackcheck/launcher.py: Desktop launcher with free port selection and browser launch logic.src/stackcheck/updater.py: GitHub Releases update checker with timeout protection.# Installs to ~/.local/bin/stackcheck with desktop shortcut and icon
curl -fsSL https://raw.githubusercontent.com/haydermuhib/StackCheck/main/install.sh | bash
# Launch dashboard
stackcheck
git clone https://github.com/haydermuhib/StackCheck.git
cd StackCheck
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
streamlit run app.py
# Build standalone folder distribution
python build_app.py --onedir
# Or build single-file binary
python build_app.py --onefile
# Launch web dashboard
stackcheck
# Print version
stackcheck -v
# Check status of running dashboard process
stackcheck status
# Verify runtime dependencies
stackcheck check
# Stop running dashboard process
stackcheck stop
# Check for updates and upgrade in-place
stackcheck update
# Query jobs for a role and location
stackcheck search "Data Analyst" --location "United States" --limit 30
# Query remote backend engineering jobs
stackcheck search "Backend Engineer" --workplace remote --limit 50
# Export dataset
stackcheck export --format all
Run the unit test suite:
pytest tests/
| Command or file | Purpose |
|---|---|
stackcheck | Launch local web dashboard |
stackcheck -v | Print installed version |
stackcheck status | Check server status, process ID, and port |
stackcheck check | Verify runtime dependencies |
stackcheck stop | Stop running dashboard process |
stackcheck search <query> | Query live jobs into local SQLite storage |
stackcheck export --format all | Export dataset to CSV, JSON, and Markdown |
stackcheck update | Update binary from GitHub Releases |
| index.html | Landing page |
| CONTRIBUTING.md | Contribution guidelines and developer setup |
| LICENSE | MIT License |
This project is licensed under the MIT License.