← All speakers

Bio, Work & Ideas

Matt Pocock

Conference affiliation: AI Hero · 2026

Matt Pocock is the creator of Total TypeScript and AI Hero, where he teaches developers to build reliable software with TypeScript and AI coding agents. His defining argument is that faster code generation makes engineering judgment more valuable: weak architecture, ambiguous requirements, and poor tests undermine automated development just as they undermine human teams.

Pocock worked as a voice and singing coach before entering software development. His early open-source contributions centered on XState, where he built tooling to improve TypeScript inference for state-machine configurations and joined the project’s core team at Stately. He later became a developer advocate at Vercel, working on Turborepo and contributing to Turbopack’s launch, before building Total TypeScript around practical instruction in generics, advanced types, and application development.

His open-source ts-reset improves TypeScript’s defaults for common JavaScript APIs. AI Hero extends the same educational mission into AI-assisted development, emphasizing the architectural and organizational decisions that determine whether coding agents produce maintainable software.

The engineering principles behind his agent workflows

  • Shared understanding before implementation. Pocock’s Grill Me technique makes an agent interrogate requirements, expose hidden decisions, and establish a shared design concept before producing plans or code. He rejects specification-to-code workflows that encourage developers to ignore the resulting system; humans should retain responsibility for requirements, architecture, and product judgment.
  • Vertical slices and test-driven development. He breaks features into thin, working paths across an application’s database, services, and interface instead of building each layer separately. These vertical slices expose integration failures early, while test-driven development, static checks, fresh-context reviews, and manual quality assurance provide dependable feedback. His AI-coding workflow turns clarified requirements into dependency-aware tasks that multiple agents can execute in parallel.
  • Deep modules with human-owned interfaces. Pocock favors substantial modules behind small, coherent interfaces because they are easier to test, understand, and delegate. Developers design the boundaries and retain a mental model of the system; agents can implement more of the internal detail. His case for software fundamentals presents maintainable architecture as a prerequisite for effective automation.
  • Small, deliberately designed agent skills. His public skills repository translates engineering practices into reusable agent instructions. He distinguishes manually invoked skills from model-selected ones, separates procedures from conditional reference material, and removes duplicated or ineffective guidance. His framework for writing agent skills also explains how consistent technical language and separate planning stages improve agent behavior.

Pocock’s sandcastle coordinates coding agents across sandboxed Git worktrees, organizing planning, implementation, review, and merging into isolated workflows. His Dictionary of AI Coding makes the field’s terminology accessible. A public remark about moving beyond local development points toward his continuing interest in how agent infrastructure could reshape everyday software development.

Talks by Matt Pocock

3 talks

Key ideas

Scroll to read ↓

Matt Pocock explains how to turn an ambiguous product idea into well-scoped, parallelizable coding work while keeping humans responsible for architectural direction, product judgment, and quality.

Key ideas

Scroll to read ↓

Matt Pocock argues that AI-assisted development depends on shared design concepts, precise domain language, fast feedback loops, testable architecture, and sustained human ownership of system design.

  • Fast code generation does not eliminate the cost of complexity: repeatedly changing software without preserving its overall design can make the codebase harder for both humans and AI to modify. 1:27 ↗ 2:31 ↗ 3:35 ↗
  • Develop a shared design concept through sustained questioning before turning the discussion into a requirements document, implementation plan, or agent-ready issues. 4:41 ↗ 5:44 ↗ 6:49 ↗
  • Use a documented ubiquitous language so the developer, AI system, and codebase refer to domain concepts consistently throughout planning and implementation. 7:55 ↗ 8:57 ↗
  • Combine static types, browser access where appropriate, automated tests, and TDD so the model receives feedback in small increments instead of validating a large implementation only afterward. 10:04 ↗ 11:08 ↗
  • Prefer deep modules with simple, testable interfaces; delegate implementation selectively while maintaining closer oversight of critical functionality. 12:09 ↗ 13:05 ↗ 14:14 ↗ 15:17 ↗
  • Preserve human strategic ownership by explicitly tracking modules, interfaces, and architectural changes as part of everyday planning and system design. 16:27 ↗ 17:35 ↗

Key ideas

Scroll to read ↓

Matt Pocock explains how to evaluate and improve agent skills through four design concerns: invocation, internal structure, behavioral steering, and disciplined pruning.

  • Evaluate skills through four explicit dimensions: trigger, structure, steering, and pruning. 1:50 ↗ 2:35 ↗ 19:03 ↗
  • Choose invocation deliberately: model-invoked skills increase context load and selection uncertainty, while user-invoked skills increase the operator’s cognitive load. 4:23 ↗ 5:17 ↗ 6:16 ↗
  • Organize skills into steps and reference, and place branch-specific templates behind context pointers instead of loading them on every invocation. 7:22 ↗ 8:24 ↗ 9:28 ↗ 10:30 ↗
  • Use consistent leading words, such as vertical slice, to express the intended working style compactly and inspect reasoning traces for evidence that the agent adopted it. 12:23 ↗ 13:15 ↗ 14:15 ↗
  • When an agent rushes an important intermediate phase, consider separating that phase into its own skill so later objectives do not prematurely redirect its attention. 15:12 ↗ 16:18 ↗
  • Keep skills small by removing duplicated material, accumulated sediment, stale references, and no-ops that deletion tests suggest do not change behavior. 16:18 ↗ 17:07 ↗ 18:05 ↗ 19:03 ↗

References