Survival LLM
A free AI assistant and survival library (1.5 million offline articles) that runs on your own computer, with no internet. Shows the source of every answer. Mac and Windows.
Tell us the sales job you would take. We will tell you when it shows up.
OtherTypeScript · HTMLGitHub @joshuabraungitOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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.