What shipped today
- 5035645 GH-449: Apple app: briefing list + detail view (#508)
- 70ab7f4 GH-437: Sidebar onboarding score — show completion progress for new users (#506)
- a9ea893 GH-504: Fix podcast endpoint review feedback (#505)
- 87ce297 GH-447: Private podcast RSS feed endpoint (#503)
- 0f8dfd5 GH-447: Private podcast RSS feed endpoint (#502)
- cd89049 GH-447: Private podcast RSS feed endpoint (#501)
- 403f7e3 GH-447: Private podcast RSS feed endpoint (#500)
- f3e8fc7 GH-447: Private podcast RSS feed endpoint (#499)
- dbd6bd9 GH-447: Private podcast RSS feed endpoint (#498)
- 55b8f8a GH-447: Private podcast RSS feed endpoint (#497)
- 4f85c37 GH-447: Private podcast RSS feed endpoint (#496)
- 0101aaa GH-447: Private podcast RSS feed endpoint (#495)
- 23ecb37 GH-447: Private podcast RSS feed endpoint (#494)
- 04193ca GH-447: Private podcast RSS feed endpoint (#492)
- b035f8c GH-440: briefing should contain full briefing in the email; there are now good calls to action, etc but no links to take action (#443)
- a5051ca GH-439: remove status badge from ideas UI (#442)
- cac6d4d GH-436: Add auth to TTS endpoint — unauthenticated ElevenLabs spend vector (#441)
Completed
- GH-449: Apple app: briefing list + detail view (#508)
- GH-437: Sidebar onboarding score — show completion progress for new users (#506)
- GH-504: Fix podcast endpoint review feedback (#505)
- GH-447: Private podcast RSS feed endpoint (#503)
- GH-447: Private podcast RSS feed endpoint (#502)
- GH-447: Private podcast RSS feed endpoint (#501)
- GH-447: Private podcast RSS feed endpoint (#500)
- GH-447: Private podcast RSS feed endpoint (#499)
- GH-447: Private podcast RSS feed endpoint (#498)
- GH-447: Private podcast RSS feed endpoint (#497)
- GH-447: Private podcast RSS feed endpoint (#496)
- GH-447: Private podcast RSS feed endpoint (#495)
- GH-447: Private podcast RSS feed endpoint (#494)
- GH-447: Private podcast RSS feed endpoint (#492)
- GH-440: briefing should contain full briefing in the email; there are now good calls to action, etc but no links to take action (#443)
- GH-439: remove status badge from ideas UI (#442)
- GH-436: Add auth to TTS endpoint — unauthenticated ElevenLabs spend vector (#441)
Carry-over
- (none)
Risks
- (none)
Next session
- (auto-generated from pipeline activity)
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 bottleneck moved
The constraint in knowledge work used to be execution. Now it's specification. Most organizations haven't noticed.
Dev reflection - February 23, 2026
I want to talk about pacing. Not productivity, not velocity — pacing. Because I think we're about to discover that a lot of what we called 'workflow' was actually a rhythm our brains depended on, a...
Universities missed the window to own AI literacy
In 2023 the question of who would own AI literacy was wide open. Universities spent two years forming committees while everyone else claimed the territory. Then a federal agency published the guidance higher education should have written.