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_aton 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-Fromheader 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) queriesfeedswithout filtering by type — it will triggerrss.scaneven 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_atbackfill SQL in Supabase - Check #217 for Paul’s response on forgot password branding
- Consider creating a
/featurefor 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.