Work log: Polymathic — March 13, 2026
What shipped today
Today was a cleanup and polish session driven by automated scout findings. After triaging and prepping issues, five fixes shipped — all focused on removing hardcoded values, adding missing metadata, and improving the podcast experience.
The scout run identified several small but meaningful quality issues: a hardcoded author name in the Open Graph meta tags, a machine-specific path in the newsletter send script, missing description fields on three pages (about, contact, podcast), oversized and duplicated favicon references, and a podcast page that listed zero episodes despite 59 existing posts with audio. Each was triaged, prepped, and executed through the full pipeline in a single session.
The favicon work was particularly satisfying — three identical references to a single 150x150 PNG replaced with Hugo image processing that generates properly-sized 32x32, 180x180, and 192x192 icons from the source image. The podcast page went from a static placeholder telling visitors to check the RSS feed to a fully dynamic episode listing mirroring the newsletter archive pattern.
Completed
- #113 — Use Site.Params.author.name in meta-social.html instead of hardcoded value
- #114 — Replace hardcoded path in newsletter-send.sh with environment variable
- #115 — Add missing description to about.md, contact.md, and podcast.md
- #116 — Add 192x192 favicon for Android and standardize favicon references
- #117 — Podcast page lists no episodes — should show recent episodes dynamically
Release progress
- March 2026: 7/7 closed (milestone complete — needs closing)
- April 2026: 2/3 closed (1 open: #112 needs clarification)
Carry-over
- Close the March 2026 milestone (all 7 issues done, milestone still open on GitHub)
- Verify security headers live:
curl -I https://www.paulwelty.com/ - Check edition 13+14 delivery stats in Brevo
- Update Brevo sender name to “Philosopher at Large”
Risks
- None identified
Flags and watch-outs
- #112 (blog dates accuracy) still waiting on author clarification — no reply yet
- Cross-project: paulos#394 (stop injecting HTML in
paulos podcast generate-audio) still open — podcast audio generation still injects hard HTML into post content
Next session
- Close the March 2026 milestone
- Answer #112 clarification question (blog dates) so it can be prepped
- Prep and execute any new issues that come in
- Consider prepping paulos#394 (podcast HTML injection) if ready for cross-project work
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 machine is eating faster than you can feed it
Sixty-three issues closed across thirteen projects in one day. Four milestones completed. And the hardest problem wasn't building — it was keeping up with what you've already built.
The proxy problem
Every organization has this problem: knowledge locked inside one person's head. Today I accidentally designed a solution — and it has nothing to do with documentation.
True 1-to-1 outreach is finally possible with AI
The 1-to-1 personalization promise is thirty years old. It never worked because understanding each person was too expensive. AI changed the economics.