Skip to content

Yabuku-xD/Ghosted

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ghosted

Ghosted

Docs Data sources Release License MIT Frontend React 19 Backend Django and DRF

Visa-aware job intelligence platform with H-1B data, live jobs, salary insights, company comparison, and prediction tools.

Ghosted combines public H-1B/LCA data with salary records, company enrichment, and live hiring signals in a Dockerized full-stack app. The product is built around six public workflows: company discovery, live jobs, H-1B intelligence, salary insights, company comparison, and prediction tools for compensation and sponsorship odds.

Current tracked release: v0.6.5

Ghosted homepage

Table of Contents

Background

Ghosted exists to answer a practical question for international candidates: which companies are likely to sponsor, how strong is the salary signal, and where are there active hiring opportunities right now?

The stack currently includes:

  • Backend: Django, Django REST Framework, Celery, PostgreSQL, Redis
  • Frontend: React 19, TypeScript, Vite, Tailwind CSS, React Query
  • Infra: Docker Compose

Core product capabilities:

  • Sponsorship-focused company discovery with visa-fair scoring
  • Live jobs browsing with 10+ filter dimensions and auto-discovery on zero results
  • H-1B applications table with FY2025 data, lottery statistics, and country-cap status
  • Offer browsing with trust metadata and responsive pagination
  • Domain and logo enrichment with graceful fallback rendering
  • Automated ATS sync and discovery from supported public job boards
  • Temporary resume-to-shortlist matching with a shared tailored PDF output
  • Side-by-side company comparison
  • Salary prediction and sponsorship-odds tools
  • H-1B lottery calculator with country-specific odds

Install

Dependencies

For the default local setup, install:

  • Docker Desktop with Docker Compose

For manual development instead of Docker, also install:

  • Python 3.12+
  • Node.js 20+
  • npm

Docker

docker compose up --build

This starts the frontend, backend API, database, cache, Celery worker, Celery Beat scheduler, and the supporting local services defined in docker-compose.yml.

The Compose stack now defaults the backend to PostgreSQL whenever a database host is configured, so the API does not silently fall back to SQLite inside the container runtime.

Manual Development

Backend:

cd backend
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver

Frontend:

cd frontend
npm install
npm run dev

Usage

Once the app is running, the public product surface centers on six areas:

  • Companies: browse sponsorship-friendly employers, visa scores, trust signals, and company detail pages
  • Jobs: search live ATS roles with 10+ filter dimensions (workplace type, employment type, degree level, max experience, ATS source, visa support, date, salary), debounced search, and auto-discovery when no results are found
  • H1B Data: explore FY2025 H-1B applications with company/city/state normalization, lottery statistics across 5 fiscal years, and country-cap status with cap-type indicators
  • Offers: explore salary records with source metadata, filters, and pagination
  • Compare: evaluate two companies side by side on sponsorship strength, salary coverage, and live jobs
  • Predictions: estimate salary expectations and sponsorship odds; calculate H-1B lottery chances with country-specific rates and masters cap advantage

Useful local verification commands:

docker compose exec frontend npm run build
docker compose exec backend python manage.py check

Configuration

Local Data

Raw source files are intentionally not committed. Put them in backend/data/ and follow backend/data/README.md when you want to seed or refresh local data.

Branding And Logos

For fuller company-logo coverage, add a Logo.dev publishable key to frontend/.env:

VITE_LOGO_DEV_PUBLISHABLE_KEY=your_key_here

Without that key, the UI falls back to favicon-based branding when a known company domain is available.

Data Imports

Run import and enrichment commands from backend/:

python manage.py import_h1b_directory ./data --skip-existing --recalculate-scores
python manage.py enrich_company_branding --limit 10000
python manage.py sync_job_postings --limit 100

These commands are useful when you want to:

  • load multiple DOL disclosure files from a directory
  • enrich company domains and branding metadata
  • discover and refresh jobs from supported Greenhouse, Lever, and Ashby boards
  • let the app infer public job boards from company websites and careers pages

After deployment, recurring job discovery and refresh are scheduled through Celery Beat so the jobs surface can keep itself fresh without manual reruns.

Repository Layout

ghosted/
├── backend/
│   ├── ghosted/           # Django project settings, urls, wsgi
│   ├── companies/         # Company models, views, job syncing, services
│   ├── h1b_data/          # H-1B application models, serializers, import commands
│   ├── offers/            # Salary offer models and views
│   ├── predictions/       # Salary/lottery prediction models and services
│   ├── users/             # Custom user model, auth views
│   └── data/              # Raw CSV import directory (gitignored)
├── frontend/              # React + TypeScript + Vite application
│   ├── src/pages/         # 12 page components
│   ├── src/components/    # Shared UI components
│   └── src/api/           # Axios client and API hooks
├── docs/                  # Plans, status notes, verification assets
├── assets/                # Banner and screenshot images
├── LICENSE                # MIT license
└── docker-compose.yml     # Local multi-service setup

Docs

Contributing

Issues and focused pull requests are welcome. When proposing a change:

  • keep the README aligned with the actual code changes
  • include the relevant verification steps or results
  • avoid documenting features that are not implemented yet

License

This project is licensed under the MIT License. See LICENSE.

About

Visa-aware job intelligence platform with H-1B data, salary insights, company comparison, and prediction tools.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors