Commit Graph
168 Commits
Author SHA1 Message Date
rzen 47e881670f content: 2026-07-06 capture run — 28 finds across 14 productive sources 2026-07-06 01:39:55 -04:00
rzen f960218784 site: pick of the day — CJRB Pyrite-Light 2026-07-05 01:55:54 -04:00
rzen cd51162028 site: reviews — CJRB Pyrite-Light, MacPulse (graduate from finds) 2026-07-05 01:55:19 -04:00
rzen 46046f69d4 site: bundles — Kept on the machine, The week's catch 2026-07-05 01:49:13 -04:00
rzen 528c5904b6 content: 2026-07-05 capture run — 28 finds across 11 productive sources 2026-07-05 01:44:51 -04:00
rzen 1cb530b832 site: pick of the day — ChompSaw 2026-07-04 02:13:37 -04:00
rzen 73bf2479da site: reviews — ChompSaw, Osaurus (graduate from finds) 2026-07-04 02:13:37 -04:00
rzen 58957246ce site: bundle — Milled for the pocket 2026-07-04 02:05:43 -04:00
rzen 85dfa5fc14 content: 2026-07-04 capture run — 65 finds across 25 productive sources 2026-07-04 02:00:46 -04:00
rzen 9bec7e5bd0 site: footer Feedback link to stoop.rzen.dev/unique 2026-07-03 21:09:29 -04:00
rzen 310f2a58a9 site: pick of the day — Kartell Componibili 2026-07-03 15:51:51 -04:00
rzen 7315ec9ddd site: reviews — tldraw, Kartell Componibili (graduate from finds)
tldraw: fact-check enriched the find — dual product (free whiteboard /
source-available SDK), licensing corrected to the proprietary tldraw
license (not MIT). Fresh first-party screenshot hero.
Kartell Componibili: first review to carry amazonLink (genuine Kartell
4966/03, sold by Amazon) — exercises the new 'Also on Amazon' affiliate
rendering end to end. New 'design' category.
2026-07-03 15:51:51 -04:00
rzen 601a2515f6 site: cluster run — 8 bundles covering 53 backlog finds
The useful menagerie, Who actually said that, The completists, Ambient data,
Made on the old machines, Never out of production, Six groans (third serving),
Nothing to win here. All items previously unbundled; zero reuse.
2026-07-03 15:44:15 -04:00
rzen 623f565307 fix: bundle mosaics broken since find date-bucketing — index find/<yyyy>/<mm>/<slug> paths, add avif
The generator still resolved heroes at the old flat src/content/find/<slug>/
path, so every mosaic was skipped as 'no heroes' and src/generated/
bundle-mosaics sat empty. Home-page bundle tiles have been mosaic-less since
the May migration.
2026-07-03 15:44:15 -04:00
rzen 0dc753fb82 sources: feed-first catalog — 39 sources on RSS/Atom, 7 rescued from skip, Reddit back via .rss
Probed all 59 sources for feeds. Highlights: Atlas Obscura, This Is Why I'm
Broke, A Continuous Lean, Gear Patrol, The Awesomer, Permanent Style, and The
Browser all rescued from blocked/skip status by working feeds; all four Reddit
subs work again via the anonymous .rss endpoint (top/.json remains dead);
MoMA Design Store + Kikkerland switched to Shopify products.json endpoints.
Newly skipped (confirmed dead/dormant): Tools and Toys, One Thing Well,
Cool Material, Werd.com, Unusual Hotels of the World.
2026-07-03 15:35:04 -04:00
rzen 20c1ea422e docs: README + CHANGELOG for the autonomous pipeline overhaul 2026-07-03 15:23:30 -04:00
rzen 622d9d63fd pipeline: autonomous operation — shortlist stage, auto modes, daily-pipeline orchestrator
- daily-finds: feed-first fetch strategy (fetch: feed + feedUrl), cadence-aware
  scanning, new score-and-shortlist stage (shortlist: true, up to 12/day, top
  1-3 flagged as review candidates), Amazon affiliate lookup for shortlisted
  physical products, and authority to apply mechanical sources.json maintenance
  (skip dead sources, demote dormant ones, record working fetch paths) instead
  of logging recommendations nobody executes.
- build-bundle: auto mode (no confirmation gate when unattended) and a 'weekly'
  date-based catch mode so shortlisted finds never sit invisible for weeks.
- cluster-bundles: auto mode.
- build-review: hero.ts registration step removed (heroes auto-discovered from
  hero.<ext>); mandatory fact-check against the product's own site in auto
  mode; amazonLink carry-through; auto mode publishes and logs instead of
  pausing twice for approval.
- New daily-pipeline skill: capture → bundle → reviews → pick of the day →
  build → commit → push → digest, with granular per-stage commits. This is the
  entrypoint for scheduled runs.
- Project CLAUDE.md documenting the pipeline and its foot-gun conventions.
2026-07-03 15:21:27 -04:00
rzen 80b3920715 site: hero auto-discovery, pick.json hero selection, amazonLink + shortlist fields
- src/lib/hero.ts: review heroes are now auto-discovered via import.meta.glob
  over reviews/*/hero.<ext>; only legacy non-hero-named assets remain as
  explicit overrides. New reviews need zero registration.
- Pick of the day moves from a hardcoded HERO_SLUG in index.astro to
  src/data/pick.json (content edit, not code edit); dev set-pick API and
  the review-page button now write pick.json. Fallback: latest review.
- Schemas: finds gain shortlist (bool) + amazonLink; reviews gain amazonLink.
- Review + find pages render an 'Also on Amazon' affiliate link when
  amazonLink is set, with shared disclosure handling.
- Both hero globs now include .avif (two June finds ship avif heroes).
2026-07-03 15:16:25 -04:00
rzen 5a4de71ad4 content: 2026-06-21 capture run — 138 finds across 30 productive sources 2026-07-03 15:12:52 -04:00
rzen 3e2adfafd3 site: editorio — link to dev site + App Store, replace hero with real screenshot
Found the canonical home for Editorio: developer Lovre Crncevic's site
at editorio.crncevic.org, free on the Mac App Store at id6759334075.

Updates:
- Review and find now link to editorio.crncevic.org (was Reddit-only)
- Review body adds App Store link inline + corrects the "anonymous dev"
  framing (Lovre Crncevic is named), version 5.4, App Store privacy
  label, free no-IAP, ~40 MB RAM, sub-100 ms file open
- Replaced the small Reddit-OG-card hero with the developer site's
  1280×800 screenshot (36 KB webp) showing the actual side-by-side
  source+preview with independent minimaps
- hero.ts import retargeted to hero.webp
2026-05-31 22:25:48 -04:00
rzen 55287e575d site: home — double initial review grid to 24 tiles 2026-05-31 22:21:18 -04:00
rzen 991dce3869 site: reviews — RemCTL, Editorio, Muxy (graduate from finds)
RemCTL (Federico Viticci's Reminders CLI): category `automation`,
hero reused from MacStories OG card. Body flags the private-API
caveat — RemCTL reads Reminders' SQLite + ReminderKit directly.

Editorio (indie markdown+code editor): category `writing`, hero reused
from Reddit OG. No homepage exists yet; review acknowledges single-
Reddit-post documentation. Used astro:assets <Image> for responsive
srcset on the small JPG.

Muxy (SwiftUI workspace): category `terminal`, fresh hero from the
github.com/muxy-app/muxy README. The find sold this as "a terminal
with a sidebar" — the review's blockquote opens by correcting that.
Muxy is actually a full SwiftUI workspace (Git tooling, file tree,
command palette, Mermaid preview, 490 themes, iOS+Android companion
apps). Review link points to github repo per user direction.
2026-05-31 22:11:36 -04:00
rzen 07842721eb site: pick of the day — Continue? Y/N 2026-05-31 18:44:21 -04:00
rzen 8883989f4f site: pick of the day — Cursor Camp 2026-05-31 18:30:32 -04:00
rzen 63f5b163c3 site: review — Continue? Y/N (graduates from find)
Single-image review of the Scale AI Show HN browser game about Claude
Code permission fatigue. Category: `play` — same new category started
for cursor-camp-neal-fun. Body corrects the find's generic "AI agent"
to name Claude Code specifically, per the game's own meta tags.
2026-05-31 18:30:32 -04:00
rzen 3c6f54add3 content: 2026-05-30 capture run — 54 finds across 18 productive sources
Ten-day gap since the 2026-05-20 sweep. Pool grows from 414 → 468 finds.

Productive: Six Colors, MacStories (3), Daring Fireball (3), Brett
Terpstra, Eclectic Light, Show HN (5), Wallpaper* Travel (5), AFAR (2),
Boutique Homes, Cool Tools (2), Kottke.org (4), Open Culture (5),
Quote Investigator (4), A.Word.A.Day, The Marginalian (4), MoMA (3),
Recomendo (3), icanhazdadjoke (7).

Major blocker: Reddit JSON endpoint is hard-blocked this run — all four
r/* sources returned identical 189908-byte HTML payloads regardless of
UA or URL pattern. Lost ~15-25 finds. Next-pass action: OAuth Reddit
API.

Other blockers: TidBITS 403, Web Curios ECONNREFUSED with no recent
issue URL resolvable, Things Magazine still on May 15 post (monthly-ish
cadence confirmed), Atlas Obscura serving evergreen 2017-era content,
A Continuous Lean dormant 9 runs.

5 new source nominees in candidate-sources.md.
2026-05-31 18:30:22 -04:00
rzen 4b34d2e5e0 site: review — Cursor Camp (graduates from find)
Single-image review of Neal Agarwal's Cursor Camp browser toy, reusing
the find's existing 1200×630 share card. New `play` category — none of
the existing buckets fit a web-toy, and the 2026-05-14 six-browser-games
bundle has 5+ other candidates that will graduate cleanly into it.
2026-05-22 18:29:56 -04:00
rzen f8c58dd84b content: 2026-05-20 capture run — 67 finds across 25 productive sources
Seven-day gap since the 2026-05-13 sweep. Pool grows from 347 → 414 finds.

Productive: r/macapps (10), r/shortcuts (5), Six Colors, MacStories,
Daring Fireball (3), Brett Terpstra, Wallpaper* Travel (5), AFAR (3),
The Outbound Collective (3), r/BuyItForLife (3), Kottke.org, Web Curios
(5), Recomendo, Cool Tools (2), Wikiquote, The Marginalian (3),
A.Word.A.Day (2), Quote Investigator, r/dadjokes (7), icanhazdadjoke (3),
Things Magazine (3 — first new post in 6 weeks).

Source-maintenance flags this run: Reddit JSON endpoint rate-limits hard
on >10 per-post fetches in a 60s window (mid-run hero fetch failed for 6
posts); switch to extracting previews from the top listing JSON at scan
time. Atlas Obscura no longer Cloudflare-blocked but homepage falls back
to evergreen 2017-era pieces. A Continuous Lean dormant for 8 runs.
Things Magazine cadence: weekly → monthly (not quarterly as flagged on
05-13).

7 new source nominees in candidate-sources.md.
2026-05-20 21:17:00 -04:00
rzen 3d379707c8 site: three bundles — browser games, more groans, Mac apps from the catch
Three bundles drafted 2026-05-14 from the 2026-05-13 capture pool:

- Six games inside a single tab: takeaway, single-ride, play-your-tubes-
  right, desktop-tower-defense, cursor-camp, vaskange
- Six more clean groans: suitcase, mortician, cow-lightning, queue,
  garden-plot, wind-turbines (sequel to six-clean-groans)
- Six Mac apps from this week's catch: Switch, Aira, Steno, ChessUnlock,
  Monologue, TerminalWidget
2026-05-20 21:16:42 -04:00
rzen 27af1ef563 site: bartender review — link the second Alcove mention to its review 2026-05-13 20:11:59 -04:00
rzen 36af29cb5c site: review — Zenteek (graduates from find)
4-slide carousel (library, graph-search, visualizer, DSP) sourced from
zenteek.app. New `music` category — none of the existing buckets
(interface, indie, writing) fit a music player. Audirvana/Apple Music/Roon
named directly as comparisons in the body.
2026-05-13 20:08:54 -04:00
rzen 62dc6e968d site: pick of the day — Bartender 6 2026-05-13 17:06:43 -04:00
rzen c7c8f79151 site: reviews — Bartender 6 + Gnome (graduates from finds)
Bartender 6: 4-slide carousel (peninsula, widgets, menu-bar, triggers)
sourced from macbartender.com/Bartender6/img/. Category: interface —
pairs naturally with the existing ice and alcove reviews.

Gnome: single-image review for Lex Friedman's menu-bar GIF picker.
Replaced the find's icon hero with the actual screenshot from
lexfriedman.com/gnome/screenshot.png. Body highlights the underrated
Apple-Vision OCR feature (text-in-GIF search).

Both heroes registered in src/lib/hero.ts.
2026-05-13 17:06:38 -04:00
rzen e982d72eb3 content: 2026-05-13 capture run — 58 finds across 21 productive sources
Four-day gap since the 2026-05-09 sweep. Productive sources: r/macapps,
r/shortcuts, Six Colors, MacStories, DF, Brett Terpstra, Eclectic Light,
OSXDaily, Dr. Drang, MoMA, Kikkerland, Wallpaper, AFAR, Boutique Homes,
Outbound, Kottke, Open Culture, Web Curios, Wikiquote, The Marginalian,
A.Word.A.Day, Quote Investigator, r/BuyItForLife, Carryology, r/dadjokes,
icanhazdadjoke.

Source-maintenance flags this run (see log): Atlas Obscura confirmed
Cloudflare-blocked for the 6th run, A Continuous Lean dormant since
Dec 2025, Things Magazine cadence: weekly → quarterly, This Is Why I'm
Broke / Cool Material / StyleForum returning JS-rendered shells or
changed templates.

4 new source nominees in candidate-sources.md.
2026-05-13 17:06:16 -04:00
rzen 856c1e577c site: pick of the day — Loop 2026-05-09 11:24:12 -04:00
rzen 60d6a676c5 site: review — Loop radial window manager (graduates from find)
4-slide carousel (radial menu, preview, cycles, stash) sourced from the
project's GitHub assets/graphics directory and re-encoded at 1280p.
2026-05-09 11:13:14 -04:00
rzen c998a88934 site: bucket find/ folders by capture date + 2026-05-09 capture (67 finds)
Migrate every find from src/content/find/<slug>/ to src/content/find/<year>/<month>/<slug>/ — all 289 existing finds moved into 2026/05/. The find content-collection loader gets a new leafSlug generateId so ids (and therefore URLs at /find/<slug>/) stay flat; src/lib/find-hero.ts switches to a recursive **/hero glob. Bundle items[], promotedTo/fromFind keys, /sources cross-refs, and category/tag pages all keep working unchanged. Skill docs (daily-finds, build-review, build-bundle, cluster-bundles), README, and CHANGELOG updated for the new on-disk path.

Also: 67 new finds from the 2026-05-09 capture run (Web Curios 8, MoMA 7, r/macapps 7, r/dadjokes 6, icanhazdadjoke 6, Wallpaper* Travel 5, Snow Peak 5, Kottke 3, Boutique Homes 3, etc.); felo-ergonic-screwdriver-set rolled back per editorial decision.
2026-05-09 10:00:04 -04:00
rzen 0251741f3f fix: felo-ergonic — point Amazon link to non-insulated comfort-grip ASIN
The original Tools and Toys post linked B002YNQVPE, which is the VDE-rated insulated electrician's variant. The review's content describes the standard Ergonic comfort-grip set; B0012CRXU0 is the matching SKU.
2026-05-06 22:13:37 -04:00
rzen dff8d4d93d sources: drop Uncommon Goods 2026-05-06 21:51:26 -04:00
rzen 996f3bd588 content: 2026-05-06 evening sweep — 25 finds, Reddit ?t=day surfaces same-day fresh 2026-05-06 21:29:47 -04:00
rzen 6b8786c250 site: review — Felo Ergonic Screwdriver Set (graduates from find) 2026-05-06 20:50:22 -04:00
rzen 2def9d685b site: rename "finds" superposts → "bundles" + 2026-05-06 capture run
Collection rename: src/content/finds/ → src/content/bundles/, URLs /finds/<slug>/ → /bundles/<slug>/, internal symbols (FindsPost → Bundle, findListMosaic → bundleMosaic, findsReferencing → bundlesReferencing, Entry.type 'finds' → 'bundle'). Skills build-finds/cluster-finds renamed to build-bundle/cluster-bundles. The `find` collection (individual items) is unchanged.

New content: 4 reviews graduated (finalist, gum-shell, tablepro, valchoose-barf-bags) and 6 bundles for 2026-05-06 (constrain-the-surface, menu-bar-singletons, on-device-by-design, six-american-detours, six-lines-six-origins, things-in-the-terminal). Adds EntryGrid component.
2026-05-06 20:45:22 -04:00
rzen 049c6c5377 site: rename "finds" superpost collection to "bundles"
Disambiguates the one-letter `find` (item) vs `finds` (roundup) split that
kept causing confusion. Audience-facing now: `/bundles/<slug>/`, "Bundle"
labels in home/footer/search.

Internals: `getCollection('finds')` → `('bundles')`, `Entry.type 'finds'`
→ `'bundle'`, `OgFallback 'finds'` → `'bundles'`, `findListMosaic` →
`bundleMosaic`, `FindsPost` → `Bundle`, `findsReferencing` →
`bundlesReferencing`. Build script + generated mosaic dir follow
(`scripts/build-bundle-mosaics.mjs`, `src/generated/bundle-mosaics/`).

Skills `build-finds` → `build-bundle`, `cluster-finds` →
`cluster-bundles`. The `find` collection (individual items) is unchanged.

No URL redirects: low external-link surface area.
2026-05-06 20:43:22 -04:00
rzen c2e1df222d site: strengthen no-endorsement language on /legal/
Inclusion isn't endorsement; no warranty on safety/quality/durability/fit
or continued existence; no responsibility after click-through. Plain,
non-legalese tone preserved.
2026-05-06 19:29:33 -04:00
rzen bec0aa33a8 content: 2026-05-06 capture run — 28 finds, Kikkerland routed to Amazon, drop 9to5Mac
Captured 28 finds across 14 productive sources. Kikkerland items rewritten
to Amazon ASINs (huckleberry slingshot B0GNJ8GCF5, bug blaster B0GS6F32CK)
so the affiliate handler tags them at render; croissant bath rug dropped —
no Kikkerland-branded match on Amazon. 9to5Mac removed from sources after
three runs of category-subpath instability.
2026-05-06 19:23:18 -04:00
rzen 373ccc28a9 site: Cloudflare Web Analytics beacon
Cookieless, privacy-preserving beacon scoped to unique.rzen.dev. Privacy
statement on /legal/ updated to disclose it.
2026-05-06 19:19:51 -04:00
rzen 3e7086bb3d site: blog index as title/intro teasers 2026-05-05 17:53:25 -04:00
rzen 7dbb32d345 site: Google Search Console site-verification file 2026-05-05 17:34:22 -04:00
rzen f871d08772 site: review — SmartMover (graduates from find)
New review under category `automation` (introduced for Apple
Shortcuts and similar workflow graduates — none of the existing
review categories fit). Hero registered in src/lib/hero.ts so the
grid card renders. Find marked `promotedTo: smartmover-shortcut`.

Also: HERO_SLUG bumped from superkey → monitorcontrol on the home
page (today's pick).
2026-05-05 17:21:24 -04:00
rzen 563c98511f content: 2026-05-05 capture run — 28 finds, 2 reviews, set-pick tooling
Captured 27 finds from the daily sweep across 15 sources (Daring
Fireball, HN Show HN, Kottke, Wallpaper, Outbound, Uncommon Goods,
Kikkerland, BIFL, Quote Investigator, Marginalian, r/dadjokes,
icanhazdadjoke, r/shortcuts, Recomendo, Messy Nessy) plus one user-
suggested find (valchoose-barf-bags) and 11 additional reader-
suggestion finds (appcleaner, blip, cleanmykeyboard, clocker,
daisydisk, ia-writer, launchos, macfolio, mos, vivid, wallspace).

New reviews: monitorcontrol (graduated from today's reader
suggestion, category interface) and blip (graduated from today's
reader suggestion, category indie). Both registered in hero.ts.

Site tooling: new dev-only POST /api/set-pick middleware that
rewrites HERO_SLUG in src/pages/index.astro for the Make today's
pick action. EditConfirm reworked to support a non-copy "set-pick"
mode; EditAction takes action and slug props; the reviews template
switches the toolbar button over to the new wiring.

Log + candidate-sources updated. Two new candidates: Routinehub.co
and Moss & Fog.
2026-05-05 17:12:01 -04:00