尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Tell us the sales job you would take. We will tell you when it shows up.
A watchlist-driven job board built only for B2B sellers. Fresh inventory pulled from public employer ATS boards (Greenhouse, Lever, Ashby), normalized into a seller-native taxonomy, with email alerts when a job matching your watch appears.
Full product spec: docs/SPEC.md
npm install
npm run dev # http://localhost:3000, shows sample jobs until Supabase is connected
npm test # classifier, comp parsing, location, match scoring, freshness
supabase/migrations/ in order in the SQL editor (or supabase db push).http://localhost:3000/auth/callback and https://<your-domain>/auth/callback to Redirect URLs.cp .env.example .env.local and fill in the keys.npm run seed -- data/seed-companies.csv
npm run ingest -- --all
.github/workflows/ingest.yml runs ingestion every 4 hours and the digest daily.Company → detect ATS → adapter → raw jobs → sales classifier → normalize
→ extract sales attributes → dedupe → store → match against watches → alerts
| Piece | File | Notes |
|---|---|---|
| Adapters | src/lib/ingest/adapters/* | One per ATS, all return the same RawJob shape |
| ATS detection | src/lib/ingest/detect-ats.ts | Sniffs careers URLs, or probes public APIs with guessed board tokens |
| Sales classifier | src/lib/ingest/classify.ts | Rule-based. Includes/excludes per spec section 3, maps to role family, seniority, segment |
| Location | src/lib/ingest/location.ts | US-only filter, remote/hybrid/onsite. Bare "Remote" is kept but flagged needs_review |
| Compensation | src/lib/ingest/compensation.ts | Trust rule: only explicitly published, explicitly labeled pay. Unlabeled ranges are dropped |
| AI extraction | src/lib/ingest/extract.ts | Motion, self-sourcing, customer segment, summary, and what the posting does/doesn't disclose. Enum-validated, Unknown over guesses |
| Dedupe | src/lib/ingest/dedupe.ts | company + normalized title + location, then description similarity |
| Pipeline | src/lib/ingest/pipeline.ts | First-seen/last-seen, two missed crawls before a job is hidden, failed crawls never remove jobs |
| Match score | src/lib/match.ts | Transparent, based only on stated preferences. Unknowns are neutral. Dealbreakers block |
| Alerts | src/lib/alerts/* | Matches recorded at ingest, sent instant or daily, click tracked via /r/[id] |
crawl_runs, needs_review, is_disabled)data/seed-companies.csv toward ~1,500 companies/for-you) works signed out. Answers are kept in a cookie so For You shows matches right away./alerts): Instant, Daily Digest or Off, per watch. Watched companies go in the daily digest.data/seed-companies.csv is a starter list of 40. Rows without a careers_url get their ATS detected by probing.src/lib/sample-data.ts uses made-up companies and only shows when Supabase isn't configured.