Iterative Design Workflows

A methodology for preserving creative evolution through version control: commit each design iteration separately rather than only the final result. Git history becomes a design portfolio, a record of exploration and decision-making.

The Pattern

Traditional design workflow:

create → iterate → iterate → save final → discard drafts

Iterative design workflow:

create → commit → iterate → commit → iterate → commit → resolve

Each commit captures a moment of creative decision-making. Each version becomes a permanent artifact, even if not ultimately selected.

Why Commit Iterations

Design as exploration: Not all variants will be used, but they all contribute to finding the right solution. Each iteration is an answered question, an explored direction that led somewhere else.

Portfolio as process: The git history documents creative thinking, not just final output. You can see the approach evolve, refinements accumulate, concepts branch and merge.

Artifacts as library: “Rejected” variants aren’t failures — they’re creative capital. They inform future work. A design discarded for project A might solve project B.

Reproducible decisions: Why was this color chosen over that one? Why this layout instead of another? The commit history answers these questions by preserving the alternatives.

Implementation

Directory Structure

Organize iterations chronologically with clear naming:

repos/artifacts/
└── brand-audit/
    ├── dc-schools-v3.png
    ├── dc-schools-v4.png
    ├── dc-schools-v5.png
    ├── dc-schools-v6.png
    └── dc-schools-final.png

Commit Pattern

Each iteration gets its own commit with descriptive messages:

# v3: First variant
git add visuals/schools-of-magic/dc-schools-v3.png
git commit -m "feat: add Schools of Magic v3 design variant"
 
# v4: Refinement
git add visuals/schools-of-magic/dc-schools-v4.png
git commit -m "feat: add Schools of Magic v4 design iteration"
 
# Final
git add visuals/schools-of-magic/dc-schools-final.png
git commit -m "feat: add Schools of Magic final design"

Each commit stands alone. If you need to reference an earlier direction, it’s preserved in history.

When to Use This Approach

High-value creative work: Brand identity systems, key visual assets, strategic illustrations — anything where the thinking process has value beyond the final output.

Collaborative design: Multiple designers or client-facing work where showing evolution builds trust and demonstrates thorough exploration.

Design systems: When establishing patterns that will be reused, documenting alternatives helps future designers understand why certain choices were made.

Learning and teaching: The iteration history becomes a case study in creative problem-solving.

When NOT to Use This Approach

Routine production work: Templates, repetitive assets, or work with no exploratory component. Commit final only.

Rapid iteration cycles: If you’re generating 50 thumbnails in an hour, committing each one is noise. Batch at decision points instead.

Throwaway experiments: True dead-ends with no learning value don’t need preservation.

Historical Precedents

This practice has lineage in design pedagogy and archival traditions:

Bauhaus preliminary course (1919–1933): Students documented material experiments systematically—Josef Albers required process documentation as part of assignments, not just final solutions. The archive became pedagogical resource, showing multiple approaches to the same problem.

Design studio archives: Professional offices keep variant sketches and rejected proposals. Frank Lloyd Wright’s Taliesin archive preserves hundreds of unbuilt projects. These aren’t failures — they’re evidence of creative range and design thinking.

Iteration portfolios: Modern design education requires process books showing ideation → refinement → resolution. Employers hire based on thinking demonstrated through iterations, not just polish of final pieces.

Git transforms this practice from physical archive to versioned repository: every iteration timestamped, annotated with reasoning, permanently retrievable.

This approach aligns with several adjacent methodologies:

  • Design systems documentation: Similar to documenting component variants and their use cases
  • Architectural blueprints: Multiple elevations and views preserve different perspectives on the same structure
  • Scientific lab notebooks: Record hypotheses tested, not just successful experiments
  • Open-source development: PRs show evolution of code changes, not just final diff

Example: Schools of Magic Identity (2026-02-19)

Six iterations committed on the same day:

  • v3: First variant, establishing the visual direction
  • v4: Design iteration, refining the approach
  • v5: Further refinement of core concepts
  • v6: Evolution of the identity system
  • Final: The resolved design

The git log becomes a portfolio of approaches. Each version documents a creative decision. The final design sits alongside the path taken to reach it.

See Also