Skip to main content
Paul Welty, PhD AI, WORK, AND STAYING HUMAN

2026-03-16

What shipped today

The big theme was websites as a content source — the full feature chain from database schema through UI, engine handler, and pipeline integration. Users can now add website URLs as feeds, and the daily pipeline scrapes them for new article links, scores with Claude Haiku, and saves high-scoring articles. The website scanner uses httpx directly (not ScrapingBee) to save API credits, with BeautifulSoup for link extraction and same-domain filtering.

The second theme was newsletter bug fixes. Paul reported that forwarded newsletters via Make.com showed up with wrong names (“Archive Notifier”) and “Never scanned.” Root cause: Make.com strips original sender headers when re-sending, and the newsletter.process handler never updated last_scanned_at. Fixed both — added X-Original-From custom header support to the webhook handler (so relay services can pass through the original sender), and added the missing last_scanned_at update. Paul configured the Make.com header and confirmed it works.

Also fixed the password reset email redirecting to authexis.app instead of eclectis.io — the Supabase redirect URL had a || "" fallback that caused it to use Supabase’s Site URL setting.

Completed

  • #218 — Fix password reset and signup email redirects to wrong domain
  • #219 — Add websites as a source (decomposed into #222, #223, #224)
  • #222 — Add website feed type to database and UI
  • #223 — Implement website.scan engine handler
  • #224 — Integrate website scanning into daily pipeline
  • #220 — BUG: forwarded email didn’t show in sources (decomposed into #228, #229)
  • #228 — Update newsletter.process to set last_scanned_at on feed
  • #229 — Fix forwarding detection for Make.com/Fastmail forwarded newsletters

Carry-over

  • Run SQL backfill to set last_scanned_at on existing newsletter feeds (one-time fix for feeds processed before #228)
  • #217 — Make forgot password email branded (needs-clarification, waiting for Paul)
  • Verify PostHog and Sentry are configured correctly in production

Risks

  • The X-Original-From header approach requires Make.com configuration per user. If other users use different relay services, they’ll need similar setup guidance.
  • The RSS scan check in daily_pipeline.py (line 29-31) queries feeds without filtering by type — it will trigger rss.scan even if the user only has website feeds. Not a bug (rss.scan handles no-RSS gracefully), but inefficient.

Flags and watch-outs

  • Supabase Site URL and redirect allow list should be verified in the dashboard to match eclectis.io (relates to #218 fix)
  • Railway auto-deploys from main, so all fixes from today should be live

Next session

  • Run the newsletter last_scanned_at backfill SQL in Supabase
  • Check #217 for Paul’s response on forgot password branding
  • Consider creating a /feature for improving the Google search scan to look for recent articles only (Paul mentioned this earlier)
  • Test the website scanning end-to-end in production: add a website feed, trigger a scan, verify articles appear

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.

AI agents need org charts, not pipelines

Every agent framework organizes around tasks. The agencies that actually work organize around competencies. The AI community is about to rediscover this the hard way.

The delegation problem nobody talks about

When your automated systems start finding real bugs instead of formatting issues, delegation has crossed a line most managers never see coming.

What your systems won't tell you

The most dangerous gap in any organization isn't between what you know and what you don't. It's between what your systems know and what they're willing to say.