Skip to content

■ PEOPLE // FIELD NOTE

Kent C. Dodds' AI-Powered Developer Educator Workflow

How the creator of Testing Library and Epic React uses ChatGPT, Copilot, and Cursor to teach hundreds of thousands of developers

Kent C. Dodds' AI-Powered Developer Educator Workflow
[!] OPERATOR DOSSIER
[!] ON THIS PAGE

Kent C. Dodds is a software engineer and educator based in Utah. He created Testing Library , the most widely-used testing utilities for React applications, and was a Google Developer Expert from 2016-2022. He now runs full-time education through kentcdodds.com and EpicWeb.dev , teaching React, testing, and web development to hundreds of thousands of developers.

His workflow uses ChatGPT, Copilot, and Cursor to automate the mechanical parts of coding, freeing time to teach.

The Consume-Build-Teach Framework

  1. Consume - Watch tutorials, take courses, read documentation
  2. Build - Create projects solving real problems (not tutorial follow-alongs)
  3. Teach - Share through blogs, talks, or open source

Spend minimal time consuming. Real learning happens when you build something you actually need.

“The moment you learn something new, you know something you could teach someone else. Teaching is nature’s way of letting you know how sloppy your understanding is.”

AI Tools Stack

ToolPrimary UseWhy It Works
ChatGPTTechnical decisions, architecture planningCustom instructions provide personalized context
GitHub CopilotTest generation, boilerplate codeUnderstands testing patterns from Testing Library
CursorPrimary editorReplaced VS Code for integrated AI assistance

Custom Instructions Strategy

Kent uses ChatGPT’s custom instructions to provide context about:

  • His tech stack (Remix, React, TypeScript, Postgres)
  • Coding preferences and patterns
  • Project architecture decisions
  • Testing philosophy

This eliminates repetitive context-setting in every conversation.

AI-Powered Workflows

Writing Tests with Copilot

Copilot generates test boilerplate trained on millions of tests using Testing Library :

test('displays user profile with correct data', async () => {
  const user = await createUserFixture()
  const { getByText } = render(<UserProfile userId={user.id} />)
  expect(getByText(user.name)).toBeInTheDocument()
})

Type the test description, Copilot fills in fixture creation, rendering, and assertions.

Realistic Database Seeding

Faker libraries generate repetitive patterns. AI creates contextually appropriate data:

Prompt: “Generate 50 realistic user profiles with diverse backgrounds, ages 18-65, from different countries, with realistic email patterns”

Result: Names, emails, bios, and timestamps with natural variance instead of library defaults.

Git Commit Messages

Paste your diff to ChatGPT or Copilot:

feat(auth): add password reset flow with email verification

- Implement password reset request endpoint
- Add email template for reset links
- Create reset token validation logic

Follows conventional commits automatically (feeds semantic-release).

Error Debugging

Paste stack traces to AI:

  • Root cause analysis
  • Specific line identification with context
  • Fix suggestions with related docs

Faster than manual parsing, especially in TypeScript projects with deep call stacks.

MCP: Agents That Code

Move beyond chat to intelligent agents that manipulate your development environment directly.

Commands to your agent:

  • “Deploy the latest version”
  • “Run tests on the auth module”
  • “Review pull requests from yesterday”

For educators, MCP enables:

  • Personalized AI tutors with your teaching style
  • Real-time code review for students
  • Automated exercise generation
  • Context-aware help systems

Kent teaches MCP server development at EpicAI.pro .

Open Source Automation

Kent maintains 100+ npm packages . semantic-release handles:

  • Version bumping from commit messages
  • CHANGELOG generation
  • npm publishing
  • GitHub releases

AI generates:

  • Consistent commit messages for semantic-release parsing
  • Release notes
  • Migration guides
  • Documentation updates

Tech Stack

Core:

  • Remix (full-stack React framework)
  • TypeScript (type safety)
  • Node.js (runtime)

Data:

  • Postgres (primary database)
  • Prisma (ORM)
  • Redis (caching)

Infrastructure:

  • Fly.io (hosting)
  • Docker (containers)
  • GitHub Actions (CI/CD)

AI Integration:

  • ChatGPT API for custom tooling
  • Copilot for code generation
  • Cursor for editor AI

Implementing This Workflow

1. Set Up Custom Instructions

ChatGPT/Cursor context file:

  • Your tech stack
  • Coding standards
  • Architecture preferences
  • Common patterns

This eliminates context-setting in every conversation.

2. Define AI Boundaries

Use AI for:

  • Boilerplate generation
  • Test writing
  • Error debugging
  • Data seeding

Don’t use AI for:

  • Core architecture (that’s your teaching opportunity)
  • Learning new concepts (build first)
  • Explaining to others (forces clarity)

3. Build Automation

# .github/workflows/release.yml
name: Release
on:
  push:
    branches: [main]
jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
      - run: npm ci
      - run: npm test
      - run: npx semantic-release

4. Create Teaching Artifacts

Every problem you solve:

  1. Document the solution
  2. Extract reusable patterns
  3. Create examples
  4. Share publicly (blog, GitHub, courses)

Key Takeaways

  • Learn what you need, build immediately. Tutorial hell is real.
  • Automate releases with semantic-release + conventional commits.
  • Use AI for boilerplate, tests, commits, debugging.
  • MCP enables agents that manipulate your environment directly.
  • Custom instructions save hours by eliminating repetitive context-setting.

Next: Building MCP Servers