A userscript for reading Hacker News and HackerWeb without fighting either site: readable layouts, real Saved items, reliable thread controls, keyboard navigation, and dark by default.
Install HackerWeb Tools — requires Tampermonkey or Violentmonkey.
Comfortable line lengths, clear metadata, HackerWeb shortcuts, and one save button per story. It still looks and behaves like Hacker News.
Collapse controls no longer collide with HackerWeb's handlers. Thread rails show nesting; ancestor highlighting, OP emphasis, and save buttons add context.
Stories and comments live in one versioned userscript-storage document shared by both hosts. Writes are atomic, old bookmarks migrate forward, and failed writes never leave a fake selected star.
Saved supports:
- Stories and comments from either site
- Search, Story/Comment filters, and newest/oldest/title/type sorting
- JSON export and validated merge import
- Reload persistence and cross-tab updates
- One
Savedview inside Tools—no second floating button or panel
Choose Dark, Light, or System. The choice is saved immediately and reapplied on reload. HackerWeb uses explicit dark colors rather than whole-page inversion, so images, settings, Saved, progress, and copy feedback keep the right colors.
Defaults are dark theme, Saved, the HN comfort layout and HackerWeb links, plus HackerWeb collapsing and OP emphasis. Keyboard navigation, reading progress, new-comment markers, score signals, time grouping, favicons, hide-read, and automatic depth collapsing remain opt-in.
Open Tools or press , on either site. The drawer contains two views:
- Settings — theme, current-site features, layout, and thresholds
- Saved — the shared library, filters, sorting, import, and export
Other useful keys:
| Key | Action |
|---|---|
, |
Open or close Tools |
/ |
Focus Settings search |
Escape |
Close Tools |
? |
Show shortcuts when keyboard nav is enabled |
j / k |
Move through stories or comments |
Preferences are local to each host. Saved uses shared userscript storage. There is no HackerWeb Tools account, backend, or sync server.
Strict TypeScript, Bun, Vite, and vite-plugin-monkey:
bun install
bun run typecheck && bun run lint && bun run format:check
bun run test:run && bun run buildUse bun run build:watch for local userscript work. See
CONTRIBUTING.md for setup and architecture; run
bun run publish:dry before a release.
Independent project; not affiliated with Y Combinator, Hacker News, or HackerWeb. Source · Install gist





