A cozy Chrome extension for saving articles and pages to read later — with gentle nudge reminders, focus mode, reading streaks, and reflection prompts.
- Go to the Releases page and download the latest
.zipfile - Unzip it into a folder (for example,
reading-nook-extension-0.1.0-chrome/) - Open Chrome and go to
chrome://extensions - Turn on Developer mode (toggle in the top-right corner)
- Click Load unpacked and select the extracted folder that contains
manifest.jsonat the top level - Done — you'll see the Reading Nook icon in your toolbar
- Save — Click the floating button on any page (or right-click > "Save to Reading Nook")
- Read — Open the popup, browse your queue, and click an item to enter Focus Mode
- Reflect — After reading, rate the article and jot down a one-line takeaway
- Track — Check your reading streak, stats, and weekly digest in the Stats tab
- Save Button — Floating pill button on every page to save with one click
- Reading Queue — Search and browse saved items, auto-categorized by topic
- Focus Mode — Distraction-free reader with timer and optional site blocking (Twitter, Reddit, YouTube, etc.)
- Reflections — Rate articles and capture takeaways after reading
- Reading Streaks — Daily streak counter with stats tracking
- Smart Decay — Stale items fade and auto-archive after 60 days
- Nudge Reminders — Gentle Chrome notifications when items pile up
- Session Mode — Start a curated reading session from your queue
- Bun v1.2+
- Chrome or Chromium-based browser
# 1. Clone and install
git clone https://github.com/YOUR_USERNAME/reading-nook-extension.git
cd reading-nook-extension
bun install
# 2. Build
bun run build
# 3. Load in Chrome
# Open chrome://extensions, enable Developer mode,
# click "Load unpacked", select .output/chrome-mv3/bun run zipThis creates a distributable .zip in .output/.
To regenerate README screenshots:
bun run screenshots:readmebun run devStarts WXT dev server with hot reload. Load from .output/chrome-mv3-dev/ in Chrome.
If you see WebSocket connection to 'ws://localhost:3000/' failed, the dev build is loaded but the dev server is not running. Either:
- run
bun run dev, or - load the production build from
.output/chrome-mv3/instead.
bun run test # Unit tests (117 tests)
bun run test:e2e # E2E tests (18 tests, builds first)
bun run test:all # Bothentrypoints/
background/ # Service worker — alarms, messages, blocking
save-button.content/ # Content script — floating save button
popup/ # Main popup — Queue, Read, Stats tabs
reader/ # Focus mode — iframe + timer toolbar
reflection/ # Post-reading reflection form
lib/
types.ts # TypeScript interfaces
storage.ts # chrome.storage CRUD
utils.ts # Utilities + microcopy
categories.ts # Auto-categorization + session logic
blocking.ts # Distraction blocking (declarativeNetRequest)
tests/ # Vitest unit tests
e2e/ # Playwright E2E tests
WXT + Svelte 5 + TypeScript + Vite + Bun
MIT




