2026-03-06 — Eclectis
What shipped today
International search was the main deliverable. Issue #63, which had been prepped and labeled ready-for-grind yesterday, went through the autonomous grind pipeline — a single agent ran the dev/QA/review loop and shipped it cleanly. The engine now reads search_countries from user preferences and runs each search term once per country code, passing the gl param to Serper. A 429 rate-limit retry with backoff was added. The settings page has a new “Search countries” field where users enter comma-separated country codes. Results are deduplicated across all query x country combinations.
A separate session ran /scout and discovered four small execution bugs (#73-76): a search scan command type mismatch, onboarding feed validation drift, password recovery link handling, and newsletter scan action routing. All four were closed. DECISIONS.md was updated to document the scouting approach — preferring small, concrete bugs over broad product enhancements.
Created #72 to track feed discovery features worth porting from authexis — RSS auto-discovery from website URLs, podcast feed discovery via iTunes API, and website monitoring without RSS. These are the next big UX improvements but need product scoping first.
Housekeeping: cleaned up stale git worktrees from feat/56 and the grind agent’s feat/63 branch.
Completed
- #63 — International search — add locale/language params to Google search
- #72 — Created: port feed discovery features from authexis (tracking issue)
- #73 — Fix per-term search scan command type mismatch (scout)
- #74 — Align onboarding feed creation with main feed validation (scout)
- #75 — Keep password recovery links usable after auth confirm (scout)
- #76 — Fix newsletter feed scan actions to queue valid work (scout)
Carry-over
- #72 (feed discovery ports) needs decomposition and prepping before it’s grindable
- Sentry verified working (test endpoint created and removed) but no custom error boundaries or alerting rules configured yet
Risks
- International search multiplies Serper API calls by number of configured countries. No usage monitoring in place yet — could spike costs for users who add many countries.
Flags and watch-outs
- Scout issues #73-76 were closed but commits may not have landed on main — verify next session that fixes are actually deployed
- DECISIONS.md has uncommitted changes from the scout session
Next session
- Verify #73-76 fixes are on main and deployed to Vercel
/issue prep 72— decompose feed discovery into grindable sub-issues (RSS auto-discovery is the quick win)- Consider creating a milestone for the next feature batch to move issues out of unmilestoned backlog
- Review whether Sentry alerting rules should be configured (currently just passive error collection)
Why customer tools are organized wrong
This article reveals a fundamental flaw in how customer support tools are designed—organizing by interaction type instead of by customer—and explains why this fragmentation wastes time and obscures the full picture you need to help users effectively.
Infrastructure shapes thought
The tools you build determine what kinds of thinking become possible. On infrastructure, friction, and building deliberately for thought rather than just throughput.
Server-side dashboard architecture: Why moving data fetching off the browser changes everything
How choosing server-side rendering solved security, CORS, and credential management problems I didn't know I had.
The work of being available now
A book on AI, judgment, and staying human at work.
The practice of work in progress
Practical essays on how work actually gets done.
The smartest code you'll ever delete
The most dangerous kind of waste isn't the thing that doesn't work. It's the thing that works beautifully and shouldn't exist.
The first real user breaks everything
Your product works until someone actually uses it. The gap between 'works in dev' and 'works for a person' is where most systems fail — and most organizations avoid looking.
The loop nobody bothers to close
Most systems observe. Almost none learn. The difference is a feedback loop — and the boring cleanup work that makes it possible.