Skip to content

0xku/leetcode-compensation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

337 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leetcode Compensation

https://0xku.github.io/leetcode-compensation/

A tool that helps you find Software Engineer Salary in India by:

  • Fetching compensation data from Leetcode forums
  • Updating regularly through GitHub action PRs
  • Using LLMs for parsing and sanitizing structured data from posts, followed by aggregation

Getting Started

Install uv from Standalone Installers or from PyPI:

uv sync  # Install all dependencies from pyproject.toml

Updating Data

The project uses LM Studio by default (LLM_PROVIDER=lm_studio) with the openai/gpt-oss-20b model for:

  • Parsing salaries, years of experience (YOE), and other compensation details from posts
  • Normalizing fields like companies, roles, and locations into structured format

Run sync

uv run leetcomp-sync

Choose provider/model at runtime

uv run leetcomp-sync --provider llama_server --model unsloth/Qwen3.5-9B-GGUF

Supported providers:

  • lm_studio (default)
  • llama_server (also supports alias llama-server)
  • github_models (requires GITHUB_TOKEN)
  • zai (requires ZAI_API_KEY)

Optional env overrides:

  • LLM_PROVIDER
  • LLM_MODEL
  • LLM_BASE_URL

Example: llama.cpp server

/opt/homebrew/bin/llama-server \
  --hf-repo unsloth/Qwen3.5-9B-GGUF \
  --hf-file Qwen3.5-9B-Q4_K_M.gguf \
  --port 5000 \
  -c 65536

uv run leetcomp-sync --provider llama-server --model unsloth/Qwen3.5-9B-GGUF

LLM Assistance

I've written all the data parsing logic in python by hand. Most of the prompts have been generated with the assistance of claude-sonnet-4.5 and pretty much all of the html file has been generated by claude-opus-4.5.

About

Near real-time leetcode compensation insights

Topics

Resources

License

Stars

Watchers

Forks

Packages