# Daily finds — log

Running record of every candidate surfaced by `/daily-finds`. The chosen pick of the day is prepended with `[chosen]`. Source attribution per candidate lets us track which sources produce winners over time.

## 2026-05-03 — capture run (full sweep, expanded sources)

Sources scanned: 61 total — 24 hits, ~17 empty/unproductive, 11 blocked/broken, 9 skipped (per sources.json `fetch: skip`).
Productive sources: r/macapps (15), MacStories (4), Tools and Toys (2), One Thing Well (5), Daring Fireball — Linked List (3), Cool Tools (3), Hacker News — Show HN (1), Recomendo (2), Brett Terpstra (5), The Eclectic Light Company (1), Dr. Drang — leancrew.com (1), OSXDaily (3), The Marginalian (2), Quote Investigator (2), A.Word.A.Day (1), Wikiquote (1), r/dadjokes (3), icanhazdadjoke (3), r/shortcuts (1), Uncommon Goods (4), Kikkerland (3), Cool Material (2), Wallpaper* Travel (3), Boutique Homes (2), AFAR (1), The Outbound Collective (1), Roadtrippers Magazine (1), Open Culture (1).
Unproductive but live: Six Colors (travel-tips post / Apple-finance posts only), Carryology (essays only — Bellroy collab already known), Werd.com (best-of listicles, no specific picks rising above the bar), A Continuous Lean (newsletter announcement), Put This On (eBay roundups), Standard & Strange Journal (Field Guides this week), Outlier (have material URLs but item descriptions too thin to write virtues), Snow Peak (homepage nav only — same SPA issue as last sweep), Things Magazine (link roundups), Messy Nessy Chic (vol. 771 too sparse to extract individual items), Kevin Kelly thetechnium (philosophical post on AI uncertainty, no products linked), 9to5Mac Guides (homepage exposed only category nav), Product Hunt (mostly B2B SaaS this run).
Blocked or broken this run: Atlas Obscura (initial curl returned content but place detail pages now hit Cloudflare; WebFetch on slugs returned 403; place titles harvested from index but bodies inaccessible — bar requires specific virtue, so skipped writing finds), This Is Why I'm Broke (curl returns Mustache `{{entry.title}}` placeholders — content still client-rendered), MoMA Design Store (1.2MB body, but only 1 product slug `/products/moma-e-gift-card` extractable — full grid is JS-rendered, same as previous run), Web Curios (`/all-curios/` returned only 36KB nav shell), Reader's Digest Jokes (WebFetch 403), TidBITS (WebFetch 403), Uncommon Goods (WebFetch on `/new` returned 5 items — usable, but the URL pattern `/product/<slug>` may not be canonical), Unusual Hotels of the World (still a 4KB SPA shell — `/blogs/journal` 404 last sweep too; mark `fetch: skip` next pruning).
Skipped (per sources.json): The Sweet Setup, Indie App Sunday (Mastodon), Gear Patrol, The Awesomer, Permanent Style, Heddels, Mr Porter Journal, Spotted by Locals, The Browser.

### Captured finds

- sentient-os — Sentient OS — source: r/macapps
- parall — Parall — source: r/macapps
- curflow — Curflow — source: r/macapps
- betteraudio — BetterAudio — source: r/macapps
- walld — WallD — source: r/macapps
- pingplace — PingPlace — source: r/macapps
- transcribex — TranscribeX — source: r/macapps
- rad-weather — R.A.D. Weather — source: r/macapps
- lattix — Lattix — source: r/macapps
- lapser-studio — Lapser Studio — source: r/macapps
- hidemydata — HideMyData — source: r/macapps
- resurf — Resurf — source: r/macapps
- melo — Melo — source: r/macapps
- pedometer-plus-plus — Pedometer++ — source: MacStories
- remodex — Remodex — source: MacStories
- hour-by-hour — Hour by Hour — source: MacStories
- apple-frames-4 — Apple Frames 4 — source: MacStories
- ooni-koda-2-max — Ooni Koda 2 Max — source: Tools and Toys
- marshall-emberton-iii — Marshall Emberton III — source: Tools and Toys
- linky — Linky — source: One Thing Well
- one-thing-menu-bar — One Thing — source: One Thing Well
- heatwave-git — Heatwave — source: One Thing Well
- nom-rss — nom — source: One Thing Well
- gum-shell — gum — source: One Thing Well
- smol-pub — Smol Pub — source: One Thing Well
- rec-league — Rec League — source: Daring Fireball — Linked List
- 1d-chess — 1D Chess — source: Daring Fireball — Linked List
- finalist — Finalist — source: Daring Fireball — Linked List
- annas-archive — Anna's Archive — source: Cool Tools
- circle-to-search — Circle to Search — source: Cool Tools
- talkie-llm — Talkie — source: Hacker News — Show HN
- sunmory-led-floor-lamp — Sunmory 69-inch LED Floor Lamp — source: Recomendo
- start-with-nothing — Start With Nothing — source: Recomendo
- superkey — Superkey — source: Brett Terpstra
- wooshy — Wooshy — source: Brett Terpstra
- paletro — Paletro — source: Brett Terpstra
- scrolla — Scrolla — source: Brett Terpstra
- leaderkey — LeaderKey — source: Brett Terpstra
- timelined — Timelined — source: Brett Terpstra
- finder-tags-one-to-one — Finder Tags as Categories — source: The Eclectic Light Company
- keyboard-maestro-launchers — Keyboard Maestro File Launchers — source: Dr. Drang — leancrew.com
- reduce-bright-effects-ios — Reduce Bright Effects (iOS 26) — source: OSXDaily
- memory-pressure-mac — Memory Pressure as a RAM Indicator — source: OSXDaily
- calendar-inbox-detected-events — Calendar Inbox for Detected Events — source: OSXDaily
- mary-oliver-fourth-sign — Mary Oliver — The Fourth Sign of the Zodiac — source: The Marginalian
- arendt-pariah-humanity — Hannah Arendt — Men in Dark Times — source: The Marginalian
- stendhal-gods-excuse — Stendhal — "God's only excuse is that he doesn't exist" — source: Quote Investigator
- wayne-dyer-change-look — Wayne Dyer — "Change the way you look at things" — source: Quote Investigator
- heller-the-enemy-quote — Joseph Heller — "The enemy is anybody who's going to get you killed" — source: A.Word.A.Day
- machiavelli-force-fraud — Machiavelli — "Force or fraud" — source: Wikiquote
- joke-pi-arthritis — The Pi Arthritis Joke — source: r/dadjokes
- joke-knock-yourself-out — The Self-Anesthesia Joke — source: r/dadjokes
- joke-paranormal-jeans — The Paranormal Jeans Joke — source: r/dadjokes
- joke-step-ladder — The Step Ladder Joke — source: icanhazdadjoke
- joke-velcro-rip-off — The Velcro Rip-Off Joke — source: icanhazdadjoke
- joke-beaver-tree — The Beaver and the Tree — source: icanhazdadjoke
- wayback-multi-search-shortcut — Wayback Multi-Archive Search — source: r/shortcuts
- spinning-decider-bookmark — Read or Rest Spinning Decider Bookmark — source: Uncommon Goods
- wearable-retro-mini-camera — Wearable Retro Mini Camera — source: Uncommon Goods
- handblown-glass-bird-suncatcher — Handblown Glass Bird Suncatcher — source: Uncommon Goods
- diy-hydraulic-cyborg-hand — DIY Wearable Hydraulic Cyborg Hand — source: Uncommon Goods
- kikkerland-crab-multi-tool — Crab Multi-Tool — source: Kikkerland
- kikkerland-pill-pod — Pill Pod — source: Kikkerland
- kikkerland-hedgehog-nail-brush — Hedgehog Nail Brush — source: Kikkerland
- lamy-studio-rollerball — LAMY Studio Rollerball — source: Cool Material
- kaweco-classic-sport — Kaweco Classic Sport Fountain Pen — source: Cool Material
- capella-kyoto — Capella Kyoto — source: Wallpaper* Travel
- hotel-villa-colette-cap-ferret — Hôtel Villa Colette, Cap Ferret — source: Wallpaper* Travel
- azuma-farm-koiwai — Azuma Farm Koiwai — source: Wallpaper* Travel
- casa-nano-tokyo — Casa Nano 2.0 — source: Boutique Homes
- honu-villa-joshua-tree — The Honu Villa, Joshua Tree — source: Boutique Homes
- atacama-superblooms — Atacama Desert Superblooms — source: AFAR
- diamond-fork-hot-springs — Diamond Fork (Fifth Water) Hot Springs — source: The Outbound Collective
- blue-whale-of-catoosa — Blue Whale of Catoosa — source: Roadtrippers Magazine
- why-some-homes-feel-good — Why Some Homes Feel Good (and Most Don't) — source: Open Culture

New source nominees: 6 this run (see candidate-sources.md) — Simon Willison's blog, This Is Colossal, Daily Dad Jokes podcast, Dad Says Jokes (Beehiiv), Mac Power Users (Relay FM), TheMacU.

### Source maintenance for next pruning pass

- **Atlas Obscura** regression: the previous sweep noted curl returned content; this sweep, the index curl still returns content (so we extracted place slugs/titles), but individual `/places/<slug>` pages now hit Cloudflare's "Attention Required!" challenge for both curl-with-Safari-UA and WebFetch. That means we can see *what's* recently added but not extract the lead paragraph that supplies the specific virtue. Either fetch via `places/recent.rss` if it exists, or fall back to writing finds only when the slug itself is unambiguous (rarely safe).
- **Uncommon Goods** product URL pattern: WebFetch returned items with `/product/<slug>` paths — verify this is canonical before next run, since the storefront may also use `/products/<slug>` (plural). Saved finds use the singular form Uncommon Goods returned.
- **MoMA Design Store**: same SPA issue as the previous sweep — 1.2MB curl body, only 1 product slug extractable. Worth one experiment with `/collections/new.json` (Shopify default) before giving up.
- **This Is Why I'm Broke**: still Mustache placeholders in the curl response — content is API-driven. Inspect their network traffic in a browser to identify the actual JSON endpoint, or mark `fetch: skip`.
- **Unusual Hotels of the World**: still a 4KB SPA shell (`<title>Uhotw</title>` is the entire content). Switching to `fetch: skip` is overdue.
- **TidBITS, Reader's Digest Jokes, Permanent Style, Heddels, Mr Porter, The Sweet Setup, Gear Patrol, The Awesomer, Spotted by Locals**: WebFetch 403s, persistent across runs. The pattern is consistent enough that adding them as `fetch: skip` would clean up the run output. Real fix is a headless-browser fetcher, separate workstream.
- **Web Curios `/all-curios/`**: this sweep returned 36KB nav-shell only. The newsletter content lives on Substack archives — point `fetchUrl` at the most recent issue's Substack URL or the RSS feed instead.

## 2026-05-03 — capture run (Amazon-focused sweep)

Sources scanned: 47 total — 8 hits, ~21 empty, 9 blocked/broken (WebFetch 403/500/empty body, redirect-only), 9 skipped (per sources.json `fetch: skip`).
Productive sources: Tools and Toys (4), Six Colors (1), Recomendo (7), Cool Tools (1), One Thing Well (3), Web Curios (3), Kottke.org (1), r/macapps (4).
Unproductive but live: MacStories (Apple Arcade week), Daring Fireball, Hacker News — Show HN, Product Hunt, Werd.com (listicles only), Carryology (insights essays, no products), Kikkerland (Juicy Jingles already captured; rest didn't qualify), Things Magazine (link roundups, no products), A Continuous Lean (newsletter/collab announcements), Put This On (eBay roundups), Standard & Strange Journal (Field Guides), Outlier (have URLs, skipped this run), Roadtrippers Magazine, The Outbound Collective, AFAR, Wallpaper* Travel, Boutique Homes, Uses This, Open Culture, Messy Nessy Chic, r/BuyItForLife (anecdotes, no clean product picks), Cool Material, StyleForum, Kevin Kelly thetechnium.
Blocked or broken this run: Atlas Obscura (WebFetch 403; curl returned content but anchors were nav-only), This Is Why I'm Broke (WebFetch 404 on /new), Unusual Hotels of the World (empty body via curl), Snow Peak (nav-only via WebFetch), Uncommon Goods (empty fetch), MoMA Design Store (curl 1.2MB but anchor extraction got nav only).

### Captured finds

- felo-ergonic-screwdriver-set — Felo "Ergonic" Screwdriver Set — source: Tools and Toys
- umoven-pop-up-bifold-wallet — umoven Pop-Up Bifold Wallet — source: Tools and Toys
- ugreen-uno-magsafe-power-bank — UGREEN Uno MagSafe Power Bank — source: Tools and Toys
- espro-p7-french-press — Espro P7 French Press — source: Tools and Toys
- anker-nano-travel-adapter — Anker Nano Universal Travel Adapter — source: Six Colors
- aootek-solar-fence-lights — Aootek Motion-Sensing Solar Fence Lights — source: Recomendo
- birdfy-smart-bird-feeder — Birdfy AI Smart Bird Feeder — source: Recomendo
- casabrews-cm5418-espresso-machine — Casabrews CM5418 Espresso Machine — source: Recomendo
- skull-bluffing-card-game — Skull (Card Game) — source: Recomendo
- toms-keys-spare-fob — Tom's Keys — source: Recomendo
- stillgram — Stillgram — source: Recomendo
- magnifiedsand — Magnified Sand — source: Recomendo
- embassy-of-the-free-mind — Embassy of the Free Mind — source: Cool Tools
- frogfind — FrogFind — source: One Thing Well
- cilicon-ephemeral-vms — Cilicon — source: One Thing Well
- companion-apps-for-apple-music — Companion Apps for Apple Music — source: One Thing Well
- roll-disposable-camera — Roll: Disposable Camera — source: Web Curios
- damnlines — Damnlines — source: Web Curios
- magic-postcards — Penumbra Magic Postcards — source: Web Curios
- unruly-play-archive — Unruly Play — source: Kottke.org
- dockpops — DockPops — source: r/macapps
- fluttertime — FlutterTime — source: r/macapps
- refine-grammarly-alternative — Refine — source: r/macapps
- notepad-plus-plus-mac — Notepad++ for Mac — source: r/macapps

New source nominees: 0 this run — the standout finds linked to single products / single-developer GitHubs (Stillgram, Refine, Cilicon, Mario A. Guzman's iTunes recreations) rather than to publications worth tracking. Existing candidate-sources.md still has the gift-focused Amazon round queued for vetting.

### Source maintenance for next pruning pass

- **MoMA Design Store**: curl returns 1.2MB of HTML but the product grid is rendered via JS — only nav anchors are extractable. Would need a headless browser, or the storefront's collection JSON endpoint if Shopify exposes one. Same root cause as Snow Peak's "nav only" result.
- **Atlas Obscura**: curl returns 503KB body and HTTP 200, but the anchor parser only extracted the global nav (Places/Foods/Stories) — likely because the Recently Added cards are rendered client-side too. Try fetching `/places/recent` via curl with the Safari UA, or the regional sitemap.
- **This Is Why I'm Broke**: WebFetch on `/new` 404'd and the homepage HTML uses `{{entry.title}}` Mustache placeholders — the product feed is loaded client-side. Skip-mark for now or find their JSON endpoint.
- **Unusual Hotels of the World**: curl returned 4KB and `<title>Uhotw</title>` — the site appears to be a thin SPA shell. Probably needs `fetch: skip` or a different fetchUrl.
- **Uncommon Goods**: WebFetch returned empty for both `/new-arrivals` URLs tried — needs a fetchUrl override.
- **Snow Peak**: nav-only response on `/collections/new-arrivals` — likely Shopify SPA. Look for a JSON product feed URL.
- **r/BuyItForLife**: top-of-week is heavy on personal-anecdote photo posts ("My N64 still works after 30 years") rather than product picks. The signal-to-noise ratio is lower than the macapps subreddit; may want to filter on text posts only or pin a sub-filter URL.

## 2026-05-03 — theme: single-virtue tools

Sources scanned: 46 total — 23 hits, 5 empty, 17 blocked (Cloudflare 403 / 404 / timeout / dead domain), 1 skipped (paywalled).
Productive sources: r/macapps, Hacker News — Show HN, Tools and Toys, Kikkerland.
Unproductive but live: MacStories (gaming-heavy week), Six Colors, Daring Fireball, One Thing Well, Outlier, Snow Peak, Put This On, A Continuous Lean, Roadtrippers, AFAR, Wallpaper*, Boutique Homes, Things Magazine, Open Culture, Messy Nessy Chic, The Outbound, Uncommon Goods, Werd.com, Cool Tools, Carryology, Kottke.org, Recomendo (Substack archive empty).
Blocked or broken: The Sweet Setup (403), Cool Material (500), Gear Patrol (403), The Awesomer (403), MoMA Design Store (no scraped content), Permanent Style (403), Heddels (403), Standard & Strange (404 — URL needs fixing), Mr Porter Journal (timeout), StyleForum (403), Atlas Obscura (403), Spotted by Locals (403), Unusual Hotels of the World (uhotw.com is now a gambling site — domain lost), This Is Why I'm Broke (404), Indie App Sunday (Mastodon hashtag URL 404), Web Curios (only newsletter index), Kevin Kelly kk.org (homepage doesn't list posts).
Skipped: The Browser (paid).

### Today's candidates

- **Klack 2** — https://tryklack.com/ — source: r/macapps
- **WhatCable** — https://github.com/darrylmorley/whatcable — source: Hacker News — Show HN
- **CoBak "Composition Notebook" Case** — https://www.amazon.com/dp/B0CNX5587H — source: Tools and Toys
- **Bridge City Chopstick Master Gen 2** — https://bridgecitytools.com/products/csmv2-chopstick-master-gen-2 — source: Tools and Toys
- **Juicy Jingles Bike Bell** — https://kikkerland.com/products/juicy-jingles-bike-bell — source: Kikkerland

New source nominees: 1 (see candidate-sources.md).

### Source maintenance for next pruning pass

- **uhotw.com**: domain expired and is now a gambling site. Update to `unusualhotelsoftheworld.com` or remove.
- **Standard & Strange Journal**: `/blogs/journal` returned 404 — find current journal URL.
- **Indie App Sunday**: Mastodon hashtag URL needs the right format (`https://mastodon.social/tags/IndieAppSunday` 404'd; try `.../tags/indieappsunday`).
- **17 sources block WebFetch with 403** — likely Cloudflare. Many of these would work via `curl` with a browser User-Agent. Consider adding `fetch: curl` mode for a `--with-headers=browser` strategy, or accept that ~⅓ of sources need a different fetch path.

## 2026-05-03 — cluster run

Wrote 6 superposts from the existing pool of 29 finds (single-virtue post already existed; not rewritten).
Reuses across posts: 2 (cobak-composition-notebook-case → single-virtue + pocket-carry; bridge-city-chopstick-master → single-virtue + morning-kitchen-ritual). Within ~20% budget.
Uncovered finds: none.

Posts created:
- 2026-05-03-pocket-carry: Pocket carry (5 items)
- 2026-05-03-mac-apps-quietly-worth-it: Mac apps quietly worth the dock slot (6 items)
- 2026-05-03-morning-kitchen-ritual: The morning kitchen ritual (3 items)
- 2026-05-03-backyard-small-upgrades: Small upgrades for the backyard (3 items)
- 2026-05-03-travel-as-attention: Travel as a kind of attention (5 items)
- 2026-05-03-manufactured-delight: Manufactured delight (4 items)

## 2026-05-03 — review: espro-p7-french-press

Graduated from find captured 2026-05-03, source: Tools and Toys.

## 2026-05-04 — media backfill

One-shot bulk backfill of supporting media for every existing find. Saved one image per find at `src/assets/finds/<slug>/hero.<ext>`.

Counts:
- Total finds processed: 104
- Skipped (text-only quotes/dad-jokes): 12
- Downloaded: 85
- Rejected (logo-only / icon-too-small): 2
- Fetch-failed: 5

Fetch-failed slugs (one-line reason):
- apple-frames-4 — iCloud shortcut URL has no usable og:image; MacStories OG resolves to generic site logo.
- smol-pub — minimalist text-only homepage, no images at all.
- start-with-nothing — source URL (herman.bearblog.dev/nothing-is-the-secret-to-structuring-your-work) returns 404; post may have moved or been retitled.
- sunmory-led-floor-lamp — Amazon ASIN `B0BTFG5YJK` returns 404 even via mobile UA; product likely delisted.
- unruly-play-archive — og:image points at `playindex.imagination.ooo` which fails DNS (NXDOMAIN); broken external CDN.

Rejected slugs (one-line reason):
- frogfind — site only exposes a 96x96 brand gif logo; not a hero image.
- paletro — only the 128x128 product icon was available; no screenshot or hero.

Notable patterns / source tuning notes:
- **Amazon product pages require iPhone Safari UA** — desktop UA (and even desktop Mac Safari UA) get redirected to a CAPTCHA stub page. Mobile UA returns the full product HTML with `m.media-amazon.com/images/I/<id>.jpg` references. Default to picking the 7-prefix (largest) variant; 3-prefix entries are 320px thumbnails and fail the 400px minimum.
- **Reddit JSON `.json` endpoint is reliable for recovering external product URLs.** Best strategy: walk `selftext` for non-reddit, non-linkedin links; prefer `.app/.io/.so/.dev/.studio/` plus `apps.apple.com/github.com`; fall back to the post's `preview.images[0].source.url` only if no external link is present.
- **GitHub `opengraph.githubassets.com` rate-limits the standard Mac Safari UA** but serves freely with no UA or with a unique cache-busting path segment. Worth considering a UA-less fallback retry on 429.
- **Many Mac/iOS app sites have only a 256x256 or smaller icon** as their largest visual asset (Wooshy, Scrolla, Paletro). For these, the GitHub repo's auto-generated `opengraph.githubassets.com/<sha>/owner/repo` provides a serviceable 1200x600 fallback.
- **Some og:image meta tags use compact markup with no whitespace between attributes** (`property="og:image"content="..."`). Regex extractors must use `[^>]*` (zero-or-more) rather than `[^>]+` (one-or-more) between attributes.
- **Wikimedia / Wikipedia articles are a great fallback for proper-noun finds** (places, brand-name products) when the canonical site 404s — used for blue-whale-of-catoosa, lamy-studio-rollerball, annas-archive, embassy-of-the-free-mind.
- **App Store og:image URLs use a deceptive path** (`/Placeholder.mill/1200x630wa.jpg`) but actually return real app screenshots. Don't reject by URL pattern — check the binary.

## 2026-05-04 — media backfill, retry pass

Re-attempt of the 7 finds that didn't get a hero in yesterday's bulk pass. Strategy per slug listed below.

- apple-frames-4 → downloaded src/assets/finds/apple-frames-4/hero.png (2048x1079, MacStories long-form article og:image at `cdn.macstories.net/sunday-12-apr-2026-...png`; the AppStories+ URL the previous pass tried was a different episode page with no hero). 395 KB.
- smol-pub → skipped: text-only by design (gemtext markup, "no JavaScript, ads, or tracking technology" — service intentionally has no images; homepage HTML contains zero `<img>` tags; `/about` 404s; `/manual` has none either).
- start-with-nothing → skipped: source bearblog post permanently 404s, Wayback has no snapshot, no ricomendo.com archive entry mentions it. Bear Blog posts have no og:image by default. No retrievable hero.
- sunmory-led-floor-lamp → downloaded src/assets/finds/sunmory-led-floor-lamp/hero.jpg (800x1084 JPEG served as `.webp` — renamed). Source: sunmory.com product page (`/products/led-torchiere-floor-lamp-with-remote`). The original Amazon ASIN B0BTFG5YJK still serves CAPTCHA stub even with iPhone Safari UA — fallback to brand site worked. 19 KB.
- unruly-play-archive → downloaded src/assets/finds/unruly-play-archive/hero.jpg (2000x1279). Source: thisiscolossal.com article hero (`/wp-content/uploads/2026/04/unruly.jpg`). The site's own og:image points at `playindex.imagination.ooo` which still NXDOMAINs; a press writeup with a real photograph of the archive UI made a better hero anyway. 335 KB.
- frogfind → skipped: confirmed by design only a 174x80 frog logo gif. The site is a 1KB HTML page (literally one form, one image, two `<small>` lines) — no screenshot to capture. Accepting as text-only.
- paletro → downloaded src/assets/finds/paletro/hero.jpg (1200x750, JPEG via `.png` URL — renamed). Source: Setapp's app page (`store.setapp.com/cdn-cgi/image/width=1200,quality=75,format=auto/app/465/screenshots/...`). The dev's own appmakes.io page only has the 128x128 icon; Setapp has full-size product screenshots through their CF image proxy. 42 KB.

Counts:
- Retried: 7
- Downloaded this pass: 4 (apple-frames-4, sunmory-led-floor-lamp, unruly-play-archive, paletro)
- Accepted as text-only / unrecoverable: 3 (smol-pub, start-with-nothing, frogfind)
- Disk added: 780 KB total

Notable patterns / SKILL.md update candidates:
- **Setapp screenshots CDN is a strong fallback for Mac apps that aren't on the App Store** (`store.setapp.com/cdn-cgi/image/width=1200,quality=75,format=auto/app/<id>/screenshots/<file>`). When a dev's own site only ships a 128x128 or 256x256 icon, Setapp's app page (`setapp.com/apps/<slug>`) often has 5+ proper screenshots accessible via their CF Images proxy. Worth slotting in *between* the dev-site icon check and the GitHub-OG fallback.
- **Press / blog write-ups are a viable hero source when a brand's own og:image is broken** — Colossal, MacStories, The Verge, etc. all serve large, well-cropped article heroes via standard og:image. For finds where the canonical site is dead-link-on-image, search for a recent press writeup of *the project itself* (not just the topic) and use its og:image. Worked for unruly-play-archive (Colossal) where the site's own CDN (`playindex.imagination.ooo`) still NXDOMAINs.
- **Some Shopify product sites serve JPEG bytes via `.webp` URLs** (sunmory.com — `Content-Type: image/jpeg`, magic bytes `FF D8 FF E0`, but URL extension is `.webp`). The fetcher should branch on `file` magic, not URL extension, when picking the saved extension.
- **Setapp's `.png` URLs likewise serve JPEG**. Same recommendation: trust `file` over the URL.
- **Amazon CAPTCHA is now triggered even by iPhone Safari UA** for some delisted ASINs (B0BTFG5YJK responded with the same `opfcaptcha.amazon.com` stub on mobile UA as on desktop). The mobile-UA workaround still works for *live* products but not for delisted ones — for delisted, fall straight through to brand-site / Wayback / press.
- **Bear Blog and Smol Pub are text-only platforms that systematically lack og:image**. Worth maintaining a small allowlist of "skip image search, mark text-only" hosts (`*.bearblog.dev`, `smol.pub`, `m15o.smol.pub`, etc.) so the fetcher doesn't waste a Wayback round trip.
- **Wayback Machine 404s are quick to detect**: the response is a full 152KB `Wayback Machine` HTML shell containing the literal string `404`. A grep for `<title>Wayback Machine</title>` plus `404` in body short-circuits the fetch.
