Skip to content

ssaurabh760/SponsorPath

Repository files navigation

SponsorPath

SponsorPath Logo

Find companies that sponsor H1B visas with real Department of Labor data

Live Demo Β· Report Bug Β· Request Feature

Next.js TypeScript Tailwind CSS Supabase


πŸ“‹ Table of Contents


🎯 About

SponsorPath is a web application that helps international professionals find companies that sponsor H1B visas in the United States. The platform provides:

  • Real DOL Data: Access official Department of Labor LCA (Labor Condition Application) disclosure data
  • Company Insights: View approval rates, salary ranges, top job titles, and work locations
  • Historical Trends: Track company sponsorship patterns over multiple years (FY2021-2025)
  • Smart Search: Filter companies by industry, state, and sort by various metrics

Why SponsorPath?

Finding H1B sponsors is challenging. Most job seekers rely on outdated lists or word of mouth. SponsorPath solves this by:

  1. Processing millions of DOL records to identify active sponsors
  2. Calculating real approval rates and salary statistics
  3. Presenting data in an easy-to-use, searchable interface

✨ Features

🏒 Company Database

  • Browse 500+ verified H1B sponsor companies
  • View detailed company profiles with statistics
  • Filter by industry (Technology, Finance, Healthcare, etc.)
  • Filter by headquarters state
  • Sort by total applications, approval rate, or salary

πŸ“Š Company Deep Dive

  • Overview Tab: Application status breakdown, key statistics
  • Trends Tab: Historical sponsorship trends with interactive charts
  • Salary Tab: Salary distribution visualization
  • Job Titles Tab: Most common sponsored positions
  • Locations Tab: Work location distribution

πŸ“° H1B News

  • Curated H1B policy updates and news
  • Links to official USCIS and DOL resources
  • Key dates for H1B cap season

πŸ” Authentication

  • User registration and login with Supabase Auth
  • Email/password authentication
  • Protected routes for future premium features

πŸ›  Tech Stack

Category Technology
Framework Next.js 16 (App Router)
Language TypeScript
Styling Tailwind CSS 4
Database Supabase (PostgreSQL)
Authentication Supabase Auth
Charts Recharts
Deployment Vercel
Data Source U.S. Department of Labor

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Supabase account (free tier works)

Installation

  1. Clone the repository

    git clone https://github.com/ssaurabh760/sponsorpath.git
    cd sponsorpath
  2. Install dependencies

    npm install
  3. Set up Supabase

    • Create a new project at supabase.com
    • Go to SQL Editor and run the schema from supabase/schema.sql
    • Get your project URL and anon key from Settings > API
  4. Configure environment variables

    cp .env.example .env.local

    Edit .env.local:

    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
  5. Seed the database (see Data Processing)

  6. Run the development server

    npm run dev
  7. Open http://localhost:3000


πŸ“ Project Structure

sponsorpath/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ page.tsx            # Homepage
β”‚   β”‚   β”œβ”€β”€ companies/
β”‚   β”‚   β”‚   β”œβ”€β”€ page.tsx        # Companies listing
β”‚   β”‚   β”‚   └── [slug]/
β”‚   β”‚   β”‚       β”œβ”€β”€ page.tsx    # Company detail (server)
β”‚   β”‚   β”‚       └── company-detail-client.tsx
β”‚   β”‚   β”œβ”€β”€ jobs/
β”‚   β”‚   β”‚   └── page.tsx        # Jobs page
β”‚   β”‚   β”œβ”€β”€ news/
β”‚   β”‚   β”‚   └── page.tsx        # H1B news
β”‚   β”‚   └── auth/
β”‚   β”‚       β”œβ”€β”€ login/
β”‚   β”‚       β”œβ”€β”€ signup/
β”‚   β”‚       └── callback/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ ui/                 # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ charts/             # Recharts components
β”‚   β”‚   β”œβ”€β”€ Header.tsx
β”‚   β”‚   └── Footer.tsx
β”‚   └── lib/
β”‚       └── supabase/           # Supabase client setup
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ process-h1b-stream.js   # Initial data processing
β”‚   └── add-h1b-year.js         # Add additional years
β”œβ”€β”€ supabase/
β”‚   └── schema.sql              # Database schema
└── public/

πŸ—„ Database Schema

Core Tables

Table Description
companies Company information (name, slug, industry, HQ state)
company_stats Per-year statistics (applications, approvals, salaries)
h1b_records Raw H1B application records (optional)
jobs Job listings (future feature)
users User profiles
saved_jobs User bookmarks
user_submissions "I got sponsored" stories
comments Company discussions

Key Relationships

companies (1) ──── (many) company_stats
companies (1) ──── (many) jobs
users (1) ──── (many) saved_jobs
users (1) ──── (many) user_submissions

πŸ“Š Data Processing

Data Source

Data comes from the Department of Labor's LCA Disclosure Data.

Processing Steps

  1. Download DOL Excel files

    LCA_Disclosure_Data_FY2025_Q1.xlsx
    LCA_Disclosure_Data_FY2024_Q4.xlsx
    LCA_Disclosure_Data_FY2023_Q4.xlsx
    etc.
    
  2. Process with streaming script (handles large 80MB+ files)

    # Initial processing
    node scripts/process-h1b-stream.js ~/Downloads/LCA_Disclosure_Data_FY2025_Q1.xlsx
    
    # Add additional years
    node scripts/add-h1b-year.js ~/Downloads/LCA_Disclosure_Data_FY2024_Q4.xlsx 2024
  3. Run generated SQL in Supabase

    • Open scripts/data/seed-companies.sql or add-year-XXXX.sql
    • Execute in Supabase SQL Editor

What Gets Processed

  • Company name normalization (removes LLC, Inc, Corp suffixes)
  • Application status counts (Certified, Denied, Withdrawn)
  • Approval rate calculation
  • Salary statistics (average, median)
  • Top 5 job titles per company
  • Top 5 work locations per company
  • Industry classification (pattern matching)

🌐 Deployment

Vercel (Recommended)

  1. Push code to GitHub
  2. Import project in Vercel
  3. Add environment variables:
    • NEXT_PUBLIC_SUPABASE_URL
    • NEXT_PUBLIC_SUPABASE_ANON_KEY
  4. Deploy!

Environment Variables

Variable Description
NEXT_PUBLIC_SUPABASE_URL Supabase project URL
NEXT_PUBLIC_SUPABASE_ANON_KEY Supabase anonymous key

πŸ“Έ Screenshots

Homepage

Search for H1B sponsors with real DOL data

Companies List

Browse and filter 500+ sponsor companies

Company Detail

Deep dive into company statistics with interactive charts

Historical Trends

Track sponsorship trends over multiple years


🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Use TypeScript for all new code
  • Follow existing code style
  • Write meaningful commit messages
  • Test your changes locally before submitting

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


πŸ“¬ Contact

Saurabh Srivastava

Project Link: https://github.com/ssaurabh760/SponsorPath


⭐ Star this repo if you find it helpful!

Made with ❀️ for the international professional community

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages