Build 431 — the audit pass
11 November 2026
- Hero, honestly. The intro paragraph went from 110 words of everything to 60 words of the thing itself; the bold was cut in half. The "40+ tools" copy now reads "44", counted from the sitemap, everywhere.
- Scroll-reveal backstop. Below-the-fold content no longer waits on IntersectionObserver that may never fire (full-page captures, headless sessions, hidden tabs). The observer still animates; a timer guarantees visibility.
- Docs, rebuilt. /docs went from 147 words and a stray dark palette to a searchable, grouped index of forty-four real guides — one per tool, written by the person who built it. Ctrl/⌘K searches them from the page.
- An offline page. /offline/ — a branded, no-script fallback when the network is gone and the app isn't cached yet; the service worker serves it as the last resort for navigations.
- The share target works. Sharing a link or file from another app now lands in the Capture inbox (
/home?shared=1) instead of the marketing page, where the payload was silently dropped. - The privacy page tells the whole truth. The cookieless Cloudflare beacon the host injects is now disclosed, in writing, alongside everything else — and the FAQ answers the tracking question too.
- One theme-color. Every page on the site — marketing, docs, landing documents, offline — declares the same #0a100c the installed app shows.
- Search in the header. Ctrl/⌘K (or the magnifier) opens a local index of all 44 tools from anywhere on the marketing page. No server, no index file, no request.
- Install affordance. An Install button appears when Chrome or Android would take the app; Safari gets the Share → Add to Home Screen walkthrough instead.
- Your data, safer. The app now nudges you toward a backup after fourteen days without one, warns at the moment your first library item is created, snapshots everything to a dated download before a full clear, and offers a one-click dated export straight to a file picker where the browser supports it. Restoring asks merge-or-replace out loud.
- First run, guided. A three-step checklist on the home screen (tool → save → backup), a sample note and deck to poke at, and empty states that say what to do next.
- Bring your old material in. The importer speaks Anki binary
.apkgdecks (fields and tags included; zstd 23.10+ builds refused with a way out), Anki plain-text and Quizlet tab-separated exports, Notion single-page Markdown, Zotero RIS/BibTeX/CSL-JSON and Readwise CSVs — from a new Import button on the Notes toolbar. - The clip path works now. A bookmarklet or PWA share that reached the app before boot finished still lands in the Inbox — the boot stash carries the query past any address-bar rewrite.
- The front door speaks three languages. The marketing page switches between English, Spanish and French via the header picker or
?lang=es— a pragmatic subset; the app stays English for now. - A clipper extension.
tools/extension/— a Manifest V3 Chrome/Firefox extension: right-click a selection, link or page and send it straight to the Inbox. Unpacked install, two minutes, nothing stored. - Notes has an RSS feed. /notes/feed.xml — the Notes section is readable by your reader, not just this site.
- Version history for notes. A History button in the notes toolbar restores any of the last 25 snapshots (one per minute at most), straight from your device.
- Drafts survive navigation. The Document Generator remembers your in-flight document (title and every field) for the session, so a wrong click never costs a paragraph.
- A real deep link.
/tool/qr/?c=https://example.comopens the QR generator with the content already filled in. More prefilled links land over time. - Phones get expectations. The LaTeX compiler and the video renderers say up front, once, what they cost on a small screen — never blocking, always dismissible.
- Colour for every face. About, FAQ, Terms and Contact moved off a dark palette that belonged to no other page on the site, into the light design system the site actually uses — with a proper dark scheme for OS-dark visitors.
- Keyboard shortcuts. The
?overlay already existed and is now focus-managed end to end: Tab cannot escape behind it, Escape closes it, focus returns to where it came from. - The stack has a legend now. Overlay layering tokens (
--z-sticky…--z-loader) are documented in the stylesheet; new overlays pick a token, never a number. - 729 tests green. The importer suite grew with the new formats — parsers, tags, field separators — all under one command:
node tests/regression.mjs.