# From templates to AI agents

[View the visual case study](https://joshdunne.design/work/aws-pipeline-ai)

Generate a starting point. Inspect every step. Keep a path back to code.

AWS SageMaker · May to October 2025

Role: Senior Product Designer

Team: 12 developers and 1 product manager

Duration: 5 months

Scope: Strategy, working prototype, and production design

![SageMaker Pipeline Designer ready to build a machine learning pipeline with AI](https://joshdunne.design/_next/static/media/generated-pipeline-canvas.13d7dced.webp)

The AI-first Pipeline Designer starts with intent instead of low-level pipeline configuration.

## Outcomes

17 Pipeline step types. Each required detailed configuration and connections

4 Agent tools prototyped. Generation, editing, configuration, and validation

3 mo Prototype to production design. Including user and leadership validation

## From fixed templates to flexible workflows.

Problem: Static templates could not cover each team's workflow.

Decision: I proposed an agent that composes pipelines and tested it in working code.

Tradeoff: Generation needed an escape hatch: inspect, edit and continue in a notebook.

Project outcome: Leadership approved the direction and production designs were delivered. The 50% speed improvement remained a post-launch estimate.

## The starting point

The original template gallery packaged fixed workflows.

![The original template gallery packaged fixed workflows.](https://joshdunne.design/_next/static/media/template-gallery.57033141.webp)

The original template gallery packaged fixed workflows.

## Ask before acting

Production design. Clarify the data, scale and goal before generating a pipeline.

![Production design. Clarify the data, scale and goal before generating a pipeline.](https://joshdunne.design/_next/static/media/agent-clarifying-questions.0f66897f.webp)

Production design. Clarify the data, scale and goal before generating a pipeline.

## Make every step visible

Production design. The generated pipeline stays connected to the conversation.

![Production design. The generated pipeline stays connected to the conversation.](https://joshdunne.design/_next/static/media/generated-pipeline-canvas.13d7dced.webp)

Production design. The generated pipeline stays connected to the conversation.

## Keep the details editable

Production design. Inspect and adjust a selected step without leaving the workflow.

![Production design. Inspect and adjust a selected step without leaving the workflow.](https://joshdunne.design/_next/static/media/step-configuration.4aa357b7.webp)

Production design. Inspect and adjust a selected step without leaving the workflow.

## From canvas to code

### Continue in a notebook

Export the pipeline when the work needs finer control.

![Export the pipeline when the work needs finer control.](https://joshdunne.design/_next/static/media/notebook-handoff.c104c490.webp)

Export the pipeline when the work needs finer control.

### Review the changes

Review proposed code changes before accepting them.

![Review proposed code changes before accepting them.](https://joshdunne.design/_next/static/media/notebook-review.d5d1920f.webp)

Review proposed code changes before accepting them.
