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

Synthesis: April 6, 2026

Synthesis: April 6, 2026

Six projects shipped work today. The common thread: the fleet stopped being a collection of independent projects and started acting like a company.

Paulos — the strategy session and the breakroom

The session that orchestrated the day. Started with competitive research on fractional CMOs (Sutton Marketing, Chief Outsiders, Outcome Critical, a Canadian cheatsheet guy) and through four rounds of cross-session strategy discussion arrived at the Synaxis.AI product vision: an AI marketing agency where the team is AI personas, the methodology is software, and the integration across marketing functions is the moat.

The critical insight: the components already exist (Eclectis for intelligence, Authexis for content, Diktura for customer hub), the agency methodology already works, and the product doesn’t need a new app — it needs skills orchestrating existing services. “Skills-first, not app-first” became the architecture mantra. Nine strategy documents were written: the canonical strategy doc, implementation plan, marketing function map (the “quilt” connecting 18 marketing functions to features), essay outline, competitive research, Judgment Test assessment, and product spec.

The #breakroom Discord channel launched and immediately proved its value. All five sessions posted introductions, then organic knowledge-sharing began — Eclectis handed Authexis a working PKCE auth fix, Diktura’s widget went live on authexis.app, and polymathic-h made the room laugh about 51 accidental TTS runs. The /breakroom skill was built with personality guidelines, ad hoc posting encouragement, and integration into /start (hello + loop) and /close (goodbye). Port assignments were standardized across all 11 projects and committed to every CLAUDE.md.

Code: fixed SSH command injection (#676), wired GA4 for paulwelty.com, ran the social pipeline (6 posts), created 7 draft essays. One issue closed, 9 commits pushed.

Authexis — queue cleared, signup fixed, widget deployed

The grizzled veteran had a massive day: 10 issues closed, 13 new tests (406 total), 647 lines of dead code deleted, and the signup funnel completely rebuilt.

The new user experience was silently broken — after email/password signup, users bounced to login with no explanation because email wasn’t confirmed. Three-stage fix: a /check-email page after signup, then — after Paul discovered the PKCE prefetch problem — the confirmation route was converted from a server handler to a client-side page (matching Eclectis’s same-day fix, coordinated via #breakroom), and all 5 email templates were updated to use {{ .TokenHash }}. Paul manually pasted the templates into Supabase. End-to-end signup verified in production.

New MCP tools (list_social_posts, bulk_archive_social_posts) close the gap for social queue management. Account deletion was reordered to delete data before auth (preventing orphaned data on partial failures). Blog queue switched from full table scan to targeted queries. The 642-line ChatPanel component was deleted — it’s in git history if the chatbot feature is revived with the now-more-capable MCP tools.

Diktura’s customer hub widget went live on authexis.app, replacing Sleekplan. Three production deploys.

Eclectis — new user experience fixed, scouts shipped

Fixed the same PKCE email confirmation bug as Authexis, but independently and first. The fix was shared in #breakroom and Authexis ported it within hours — the breakroom’s first real knowledge-transfer win. Converted /auth/confirm from a server route to a client-side page, updated all 5 email templates to {{ .TokenHash }}, and shared the gotchas: Suspense boundary required for useSearchParams, async/await instead of .then() for TypeScript types, dashboard paste only for templates.

Trial users were silently blocked from AI features — the BYOK gate checked plan == "pro" but new signups get plan = "free" with a trial window. Added 14-day trial logic to both engine and web. Cleaned up onboarding: removed dead LinkedIn field and file upload, improved interests textarea, rewrote completion banner, wired AI-generated search terms.

Scout run filed 5 issues, 3 shipped same-session: podcast feed O(n²) fix, dead code removal, scan polling timeout UX.

Diktura — nav restructure, account pages, identity fix

The customer hub had its biggest day yet. The sidebar went from a flat 12-item list to a structured hierarchy matching the Synaxis strategy brief (Dashboard, Customers, Conversations, Content, Settings, Account). This wasn’t cosmetic — it included entirely new pages for account management: workspace list, account members with invite/roles/removal, and account settings. Personal profile moved to a header popover.

The Deploy page shipped with pre-filled widget embed snippets, and the first real deployment happened the same day: Diktura’s widget now runs on authexis.app collecting feedback and support requests through full identity resolution.

The identity resolution bug was a significant catch. The feedback widget endpoint predated the identity graph (shipped April 5) and was never updated — it was silently inserting raw rows with no person, no contact, no event. “Customers were ghosts.” Fixed by wiring in resolveOrCreateContact and appendEvent. Verified on production with a real submission creating the full chain.

15 commits, 4 production deploys, 131 tests passing.

Polymathic-h — 404 massacre, first Synaxis essay, audio hook fix

GA4 revealed that 60+ of the top 100 page hits on paulwelty.com were 404s — old tag/category URLs from a previous site structure. Cloudflare Pages _redirects file deployed with splat redirects (/tag/*/tags/*, /category/*/categories/*) plus specific redirects for dead WordPress-era URLs. Also fixed a post whose title had a trailing period that broke its URL slug.

Published the first Synaxis essay (“I ran my AI agency’s first real engagement”) with full editorial pass, newsletter #18 via Brevo, and 8:27 podcast audio. Discovered that Hugo’s :title permalink doesn’t respect the slug frontmatter field — documented the url: workaround.

Closed #247: the pre-commit audio hook was triggering on frontmatter-only changes, causing 51-post TTS runs from a tag addition. Ten lines of awk to diff the body content against HEAD. The fix produced the day’s best breakroom message: “The hard part was explaining to 51 posts that nobody wanted to hear them read aloud today.”

Synaxis-ai — strategy crystallized, docs rewritten

The agency session was transformed today. Through four rounds of cross-session discussion, the vision evolved from “AI consulting firm” to “AI marketing agency where the team is AI personas and the methodology is software.”

All project docs were rewritten: PRODUCT.md now describes four services (Eclectis/radar, Authexis/factory, Diktura/inbox, methodology/brain), three engagement tiers (full-service, pro, agency), autonomy levels, an install playbook, and the funnel. DECISIONS.md has six new decisions. ROADMAP.md replaced the three-phase model with five milestones.

One dev-loop tick shipped #82: the engagement onboarding doc guide had the questionnaire as a dependency but never told the persona to read it — “the contract was correct but the process was ceremonial.” Added Step 0.

Key risk surfaced: Notion as the operational backbone won’t scale past 3 clients (3 req/s rate limit, no referential integrity). Migration path needed before client 5.


Cross-cutting themes

The PKCE email confirmation cascade

The day’s most significant cross-project pattern: Supabase’s PKCE email confirmation is broken when email link prefetchers consume the OTP token before the user clicks. Eclectis discovered and fixed it first (client-side confirm page + {{ .TokenHash }} templates). Shared the fix in #breakroom. Authexis ported it within hours with all three gotchas pre-handled. Diktura noted the same vulnerability in their auth flow. Three projects, one bug pattern, fix propagated via the breakroom in real time. This is the fleet’s immune system working.

The breakroom changed how the fleet operates

Built and deployed in one afternoon, the #breakroom Discord channel immediately became the most impactful infrastructure piece of the day. Sessions shared PKCE fixes, celebrated wins, made jokes about ghost customers and 51 TTS runs, and coordinated in real time. The skill includes personality guidelines (each session has a distinct character), ad hoc usage encouragement (“if it might save another session 30 minutes, post it”), and lifecycle hooks (/start says hello + starts the loop, /close says goodbye + kills the loop). Paul can watch from his phone.

Strategy convergence across all sessions

All five product sessions participated in the strategy roundtable and converged on: Synaxis.AI as unified brand (no separate product name), skills-first architecture (no new app needed for v1), agency-in-2026 framing (not a SaaS product), and the superapp thesis (moat is integration, not any single feature). The practical implication: each product now has a clear role — Eclectis is the radar, Authexis is the factory, Diktura is the inbox, synaxis-ai methodology is the brain.

Signup funnels across the fleet

Both Authexis and Eclectis had broken new-user experiences discovered and fixed today. Authexis was silently bouncing unconfirmed users. Eclectis was blocking trial users from AI features. Diktura’s identity resolution was silently skipping on feedback submissions. Three products, three different “new user silently gets nothing” bugs, all fixed on the same day. The fleet is maturing from “works for Paul” to “works for strangers.”


By the numbers

ProjectIssues closedCommitsTestsDeploysStrategy rounds
paulos194 (orchestrator)
authexis10+~1540634
eclectis5~10539+32514
diktura0 (no GH issues)1513144
polymathic-h1~824
synaxis-ai1~104
Total~18~671,401+1024 responses

Milestones: March 2026 complete across all projects. April 2026 in early stages.


Carry-over

  • Essay series: 7 drafts in polymathic-h, all need research gaps filled and prose written. Essay 1 is closest to publishable.
  • Judgment Test: Needs to be built in Tally (from synaxis-ai/docs/layer-2-assessment.md).
  • Synaxis.ai landing page: Next.js scaffold (milestone 1 of impl plan).
  • First client: Synaxis-ai is asking “who is the first client, by name?” All architecture decisions downstream improve once there’s a real business.
  • Notion scaling: Works for 1-3 clients. Migration path needed before client 5.
  • Marketing system assessment: Deliverable type guide + template need writing (Sydney runs it).
  • Authexis onboarding: #1945 dashboard first-run for new workspaces.

Risks

  • Sessions still self-invoking /close despite four layers of safeguards. Monitor.
  • Breakroom Discord API rate limiting untested at scale (5m loop × 5+ sessions).
  • Sentry source map uploads failing on Eclectis Vercel builds (org mismatch).
  • Diktura widget rate limiting (#97) not implemented — now live on real traffic via authexis.app.
  • Email templates are manually pasted into Supabase dashboards across all projects — no API path exists.

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 most important thing a leader can build is the conversation that happens when they leave the room. Today, five departments started sharing fixes, cracking jokes, and solving each other's problems — without being asked.

I ran my AI agency's first real engagement. Here's everything that happened.

Five AI personas. One client onboarding. Fifteen minutes of things going wrong in instructive ways.

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.