Paul Welty, PhD AI, WORK, AND STAYING HUMAN

Work log: Authexis — February 28, 2026

What shipped today

Today was the marketing-readiness sprint. The entire prospect onboarding pipeline is now end-to-end: LinkedIn research → prospect file → one-command account creation → magic link → populated dashboard with real content. This was a full-stack effort spanning the engine, web app, database, and operational tooling.

Content pipeline automation. The biggest behavioral change is auto-advance: outline and script stages now skip the human approval gate and flow directly to the next stage. This is config-driven (auto_approve: true on stage config), so it can be toggled per stage per content type. The pipeline still generates every artifact — it just doesn’t wait. For prospects, this means idea → outline → script → interview happens automatically, and the interview is where they first interact. For the existing power user, nothing changes on stages that matter (interview, piece). This was GH-706.

Prospect account infrastructure. Magic-link onboarding (GH-699) uses Supabase’s admin.generateLink() to create passwordless login URLs without triggering emails. The admin workspace creation action now accepts prefs_json to bypass website scraping — prospect files from LinkedIn research feed directly into account setup. Prospect accounts get 365-day trials (GH-710) so they never see the “14 days remaining” countdown. The dead onboarding wizard was removed entirely (GH-708) — 894 lines deleted, all redirects cleaned up.

Dashboard overhaul. The dashboard now shows top-scored articles and content ideas as list sections (GH-711), making the first visit actually impressive instead of a wall of zeros. Content and distribution stat sections hide when empty (GH-709). Stat cards are now clickable links to their respective pages. A prospect clicking their magic link sees: research stats with real numbers, scored articles relevant to their industry, and AI-generated content ideas — not empty counters.

Dead code audit. Confirmed that 7 stage-level prompts with field_key=NULL in default_prompts are unreachable (GH-693). The only runtime query path (get_field_prompt()) always requires a non-null field_key. Rows can be cleaned up whenever.

Completed

  • GH-706 — Auto-advance content stages without waiting for human approval
  • GH-699 — Magic-link onboarding for marketing demo accounts
  • GH-710 — Suppress trial countdown for marketing/prospect accounts
  • GH-708 — Remove dead onboarding wizard
  • GH-709 — Dashboard first-visit experience — no wall of zeros
  • GH-711 — Surface top articles, ideas, and content on dashboard
  • GH-693 — Investigate stage-level prompts (field_key=NULL) — dead code audit
  • GH-704 — LinkedIn prospect research prompt and onboarding support

Also created issues: GH-705 (briefings), GH-707 (topic link in emails), GH-708-713 (marketing UX cluster).

Carry-over

  • KC Wolff (Genuine Parts Company) prospect file exists but no account built yet — waiting on email address
  • Rob Sherrell and MD Valverde accounts are live with extended trials and email_override routing briefings to Paul
  • docs/authexis-homepage-draft-260228.md is untracked — homepage copy draft, not committed

Risks

  • Auto-advance is live in production. If a stage has a bug that produces bad output, it’ll cascade forward automatically instead of stopping at review. Watch the first few runs.
  • Prospect accounts share the production database — any data issues affect everyone.
  • The 7 dead prompt rows in default_prompts still show in the admin prompts UI. Not harmful but could confuse.

Flags and watch-outs

  • onboarding_status column still exists in user_profiles but nothing reads it anymore. Can be dropped in a future migration.
  • The onboarding-tracker.tsx and getting-started-checklist.tsx components are still in the codebase — they show post-onboarding progress in the sidebar. Useful but could be confusing since the wizard is gone.
  • Prospect briefings route to [email protected] via email_override setting. Remember to remove this before going live with each prospect.

Next session

  • GH-707 — Add “add a topic to my briefing” link in briefing emails. Small engagement hook for prospects.
  • GH-713 — Include newsletter pitch in Authexis emails. Marketing integration.
  • GH-705 — Briefings section ordering for prospects vs. customers.
  • Test the full prospect flow — Click Rob’s or MD’s magic link (regenerate if expired), verify dashboard looks good, check that auto-advance works on a new content piece, preview their briefing.
  • Send first prospect outreach — Paul has the email template and the accounts are ready. Just needs the magic links and a personal touch.

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 silence that ships

Three projects independently discovered the same bug pattern today — code that reports success when something important didn't happen. The most dangerous failures don't look like failures at all.

When your work moves faster than your rules can keep up, governance quietly becomes theater

I want to talk about something that happened this week that looks like a technical problem but is actually a management problem. And I think it maps onto something most organizations are going to f...

Junior engineers didn't become profitable overnight. The work did.

We've been celebrating that AI made junior engineers profitable. That's not what happened. AI made it economically viable to give them access to work that actually builds judgment, work we always knew