Work log — 2026-04-05
What shipped today
A short but high-impact session focused on getting PostHog actually working in production. The proxy route /ingest/* was being caught by the auth middleware and redirected to /login — meaning every PostHog event from the client-side SDK was silently failing since the original instrumentation deploy. One regex fix in proxy.ts (adding ingest to the exclusion list) and a production deploy fixed it. Also added name and plan to the PostHog identify call, which was only sending userId and email — no way to segment users by plan tier.
The custom intro paragraph for manual briefings (#676) shipped — textarea in the manual briefing bar that passes through to the engine. If provided, the custom intro replaces the AI-generated one. Empty falls back to Claude. This completes the curated briefing feature started with #661.
Closed #664 (URL import) as already covered by existing features: file upload (.txt/.docx), paste, and LinkedIn URL field were all shipped in prior sessions. The AI summarization path was the only gap, and Paul confirmed manual approach is fine.
Completed
- #676 — Curated briefings: custom intro paragraph for manual briefings
- #664 — Onboarding: URL import (closed: already covered by file upload + paste)
- #659 — White-label briefings (moved to backlog per Paul’s direction)
Carry-over
- backlog (7): #659 (white-label), #484, #482, #481, #480, #471, #64 — all future product ideas
- No active issues — all queues empty
Risks
None new. PostHog is now confirmed working in production after the proxy fix.
Flags and watch-outs
- PostHog events were silently lost from the April 4 deploy until the proxy fix today. Historical data starts from today’s deploy, not yesterday’s.
- Several commits since the last production deploy (PostHog identify fix, custom intro) — needs another
vercel deploy --prodto go live.
Next session
- Deploy to production — the PostHog identify fix and custom intro are on main but not deployed
- Run /scout — queues are completely empty, all milestones closed, good time for another sweep
- Verify PostHog events — check the PostHog dashboard to confirm pageviews, identify, and session replay are flowing
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 costume just got cheap
If 80 percent of what you thought was judgment turns out to be pattern recognition, what does that say about you? Not about your job — about you.
The bottleneck moved and nobody noticed
When execution becomes nearly free, the bottleneck shifts from doing the work to deciding what work to do. Most organizations are optimized for the wrong constraint.
The inbox nobody reads is the one that matters
Every organization has a monitoring system that works perfectly and reports to nobody. The gap between having information and acting on it is where most failures actually live.