CompShop
Search 350+ compensation surveys by industry, region, or job title. Independent directory.
Open source Repository Open in the app JSON README (API)
About
Search 350+ compensation surveys by industry, region, or job title. Independent directory.
Details
- Kind
- MCP servers
- Topic
- Files & documents
- Publisher
- mkibrick
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 0.1.0
- Last push
- 2026-08-22T22:24:33Z
- Repository state
- ativo
- Language
- TypeScript
- Added
- 2026-08-29 04:00:50
- Updated
- 2026-08-29 04:00:50
- Origin id
io.github.mkibrick/compshop
README
# CompShop The independent directory of salary & compensation surveys. Search 350+ reports across 17+ vendors (Mercer, WTW, Aon, SullivanCotter, Gallagher, Pearl Meyer, Empsight, Culpepper, Milliman, MRA, LOMA, Birches Group, Western Management Group, and more) by job title, industry, geography, or publisher. ## Tech stack - **Framework:** Next.js 14 (App Router) + TypeScript + Tailwind - **Database:** SQLite (`better-sqlite3`) with a file-backed DB bundled in the repo - **Search:** server-side FTS-ish query across vendors, reports, job families, positions, and participating orgs - **SEO:** ~3,500 statically-generated indexable pages (vendor / report / family / position) with JSON-LD, OG/Twitter tags, canonical URLs, and an auto-generated sitemap ## Local dev ```bash npm install npm run dev ``` Open [http://localhost:3000](http://localhost:3000). ## Data pipelines Loaders are in `scripts/`. Each writes to `data/compshop.db`. ```bash # Add/refresh a vendor (parent row) npm run db:add-vendor <path-to-json> # Add/refresh a single report (with optional XLSX position/participant lists) npm run db:add-report <path-to-directory> # Batch-load many reports at once npm run db:add-report-batch "scripts/data/mercer-*" ``` See `scripts/SCRAPING.md` for the full data-loading workflow. ## Deployment Deploys to Vercel out of the box. The SQLite DB file (`data/compshop.db`) is committed to the repo and read at request time by the serverless routes; almost all pages are pre-rendered statically at build time via `generateStaticParams` + `force-static`. Set `NEXT_PUBLIC_SITE_URL` in your Vercel project settings to your production domain (e.g., `https://compshop.io`).