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

Work log — April 1, 2026

What shipped today

Documentation housekeeping

The session today was brief but deliberate: trimmed three core documentation files (PRODUCT.md, DECISIONS.md, RISKS.md) by 700 lines — a 57% reduction — specifically to reduce token cost in future sessions. These files get injected into every /start and /close context window, so keeping them lean has a direct compounding effect on how much context is available for actual work. The content that was cut was redundant, superseded, or low-signal relative to what’s needed for day-to-day decisions.

No feature work, no bug fixes. The work log for March 31 covered the prior session’s output (GH-1904/1905/1906 — removing stale content_type references from docs and UI, plus Sentry issue resolution).

Completed

No issues were closed today. The doc trim was not tracked as a GitHub issue.

Release progress

No open milestones active.

Carry-over

Six backlog issues remain open — all long-standing items with no active sprint pressure:

  • #1862 — Social queue page lacks pagination (select(*) with no limit)
  • #1829, #1823 — Legacy analytics event cleanup (PostHog)
  • #1787 — Error boundaries missing on 30 user-facing routes
  • #743, #742 — Dashboard redesign candidates

Risks

No new risks today. Existing register is current (reviewed 2026-03-28/29).

Flags and watch-outs

Root-level package.json and package-lock.json are untracked in the repo. These contain @anthropic-ai/sdk, @supabase/ssr, cloudinary, lucide-react, react, and react-dom as dependencies. These files don’t belong at the monorepo root (web dependencies live in web/). Worth investigating whether they were created accidentally by a tool and should be deleted or gitignored.

.claude/worktrees/ is also untracked — this is internal Claude tooling state, fine to leave untracked.

Next session

  • Investigate the stray root-level package.json / package-lock.json — determine origin and delete or add to root .gitignore
  • Pick up highest-priority backlog item: #1862 (social queue pagination) is a concrete performance fix
  • #1787 (error boundaries) remains a medium-severity risk affecting user experience on crashes — good candidate for a focused sprint

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.

Delegation without comprehension is just prayer

The organizations that survive won't be the ones that automated the most. They'll be the ones that figured out what to stop delegating.

The case for corporate amnesia

Most organizations worship institutional memory. But what if the thing they're preserving is mostly decay?

Your design philosophy is already written

Builders who work across multiple projects leave fingerprints everywhere. The same mind solves the same problem differently in every domain — and usually doesn't notice. You need someone to read it back to you.