# Do the laundry (it has three parts)

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0iejzp006ijw06s9fvcqry
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 18 steps across 2 layers
- Persona: You
- Technology / systems: Washer, Dryer, Closet and drawers

## Pain points

Where this process hurts, worst first:

- **It lives in a basket for 3 days** (Do the laundry (it has three parts); painful): Clean laundry living in a basket for days

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## Do the laundry (it has three parts)

Lanes:
- You: person / role (id `me`)
- Washer: technology / system (id `washer`)
- Dryer: technology / system (id `dryer`)
- Closet and drawers: technology / system (id `closet`)

Steps, in the order they run:

1. **The hamper is full** [start; You; id `l1`]
   - then Sort the clothes
2. **Sort the clothes** [subprocess; You; id `l2`], opens the detail layer "Sorting"
   - then Wash
3. **Wash** [task; Washer; id `l3`]
   - then Cycle done
4. **Cycle done** [task; Washer; id `l4`]
   - then Anything that cannot go in the dryer?
5. **Anything that cannot go in the dryer?** [decision; You; id `l5`]
   - if "Yes" go to Hang it up to dry; if "No" go to Dry on the right setting
6. **Hang it up to dry** [task; You; id `l6`]
   - then Is everything dry?
7. **Is everything dry?** [decision; You; id `l8`]
   - if "Yes" go to Fold and sort; if "No" go to Run another 20 minutes
8. **Fold and sort** [task; You; id `l9`]
   - then Put it away right now?
9. **Put it away right now?** [decision; You; id `l10`]
   - if "Yes" go to Clean clothes in the closet; if "No" go to It lives in a basket for 3 days
10. **Clean clothes in the closet** [end; Closet and drawers; id `l11`]
11. **It lives in a basket for 3 days** [task; You; id `l12`] ⚠ PAIN POINT (painful): Clean laundry living in a basket for days
   - then Clean clothes in the closet
12. **Run another 20 minutes** [task; Dryer; id `l7a`]
   - then Is everything dry?
13. **Dry on the right setting** [task; Dryer; id `l7`]
   - then Is everything dry?

```mermaid
flowchart LR
  subgraph l_me["You"]
    n_l1(["The hamper is full"])
    n_l2[["Sort the clothes"]]
    n_l5{"Anything that cannot go in the dryer?"}
    n_l6["Hang it up to dry"]
    n_l8{"Is everything dry?"}
    n_l9["Fold and sort"]
    n_l10{"Put it away right now?"}
    n_l12["It lives in a basket for 3 days"]
  end
  subgraph l_washer["Washer"]
    n_l3["Wash"]
    n_l4["Cycle done"]
  end
  subgraph l_dryer["Dryer"]
    n_l7["Dry on the right setting"]
    n_l7a["Run another 20 minutes"]
  end
  subgraph l_closet["Closet and drawers"]
    n_l11(["Clean clothes in the closet"])
  end
  n_l1 --> n_l2
  n_l2 --> n_l3
  n_l3 --> n_l4
  n_l4 --> n_l5
  n_l5 -->|"Yes"| n_l6
  n_l5 -->|"No"| n_l7
  n_l6 --> n_l8
  n_l7 --> n_l8
  n_l8 -->|"Yes"| n_l9
  n_l8 -->|"No"| n_l7a
  n_l7a --> n_l8
  n_l9 --> n_l10
  n_l10 -->|"Yes"| n_l11
  n_l10 -->|"No"| n_l12
  n_l12 --> n_l11
```

### Sorting (detail of step "Sort the clothes")

Lanes:
- You: person / role (id `me`)

Steps, in the order they run:

1. **Whites, darks and delicates** [start; You; id `s1`]
   - then Check pockets for tissues, pens and cash
2. **Check pockets for tissues, pens and cash** [task; You; id `s2`]
   - then Any stains?
3. **Any stains?** [decision; You; id `s3`]
   - if "Yes" go to Pre-treat with stain remover; if "No" go to Load the washer, but not too full
4. **Pre-treat with stain remover** [task; You; id `s4`]
   - then Load the washer, but not too full
5. **Load the washer, but not too full** [end; You; id `s5`]

```mermaid
flowchart LR
  subgraph l_me["You"]
    n_s1(["Whites, darks and delicates"])
    n_s2["Check pockets for tissues, pens and cash"]
    n_s3{"Any stains?"}
    n_s4["Pre-treat with stain remover"]
    n_s5(["Load the washer, but not too full"])
  end
  n_s1 --> n_s2
  n_s2 --> n_s3
  n_s3 -->|"Yes"| n_s4
  n_s3 -->|"No"| n_s5
  n_s4 --> n_s5
```

## Full data (JSON)

```json
{
  "title": "Do the laundry (it has three parts)",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "me",
          "name": "You",
          "type": "person"
        },
        {
          "id": "washer",
          "name": "Washer",
          "type": "system"
        },
        {
          "id": "dryer",
          "name": "Dryer",
          "type": "system"
        },
        {
          "id": "closet",
          "name": "Closet and drawers",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "l1",
          "kind": "start",
          "lane": "me",
          "next": [
            {
              "to": "l2"
            }
          ],
          "uses": [],
          "label": "The hamper is full"
        },
        {
          "id": "l2",
          "kind": "subprocess",
          "lane": "me",
          "next": [
            {
              "to": "l3"
            }
          ],
          "uses": [],
          "child": "m_sort",
          "label": "Sort the clothes"
        },
        {
          "id": "l3",
          "kind": "task",
          "lane": "washer",
          "next": [
            {
              "to": "l4"
            }
          ],
          "uses": [],
          "label": "Wash"
        },
        {
          "id": "l4",
          "kind": "task",
          "lane": "washer",
          "next": [
            {
              "to": "l5"
            }
          ],
          "uses": [],
          "label": "Cycle done"
        },
        {
          "id": "l5",
          "kind": "decision",
          "lane": "me",
          "next": [
            {
              "to": "l6",
              "label": "Yes"
            },
            {
              "to": "l7",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Anything that cannot go in the dryer?"
        },
        {
          "id": "l6",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "l8"
            }
          ],
          "uses": [],
          "label": "Hang it up to dry"
        },
        {
          "id": "l7",
          "kind": "task",
          "lane": "dryer",
          "next": [
            {
              "to": "l8"
            }
          ],
          "uses": [],
          "label": "Dry on the right setting"
        },
        {
          "id": "l8",
          "kind": "decision",
          "lane": "me",
          "next": [
            {
              "to": "l9",
              "label": "Yes"
            },
            {
              "to": "l7a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is everything dry?"
        },
        {
          "id": "l7a",
          "kind": "task",
          "lane": "dryer",
          "next": [
            {
              "to": "l8"
            }
          ],
          "uses": [],
          "label": "Run another 20 minutes"
        },
        {
          "id": "l9",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "l10"
            }
          ],
          "uses": [],
          "label": "Fold and sort"
        },
        {
          "id": "l10",
          "kind": "decision",
          "lane": "me",
          "next": [
            {
              "to": "l11",
              "label": "Yes"
            },
            {
              "to": "l12",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Put it away right now?"
        },
        {
          "id": "l12",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "l11"
            }
          ],
          "pain": {
            "note": "Clean laundry living in a basket for days",
            "level": 2
          },
          "uses": [],
          "label": "It lives in a basket for 3 days"
        },
        {
          "id": "l11",
          "kind": "end",
          "lane": "closet",
          "next": [],
          "uses": [],
          "label": "Clean clothes in the closet"
        }
      ],
      "title": "Do the laundry (it has three parts)",
      "parent": null
    },
    "m_sort": {
      "id": "m_sort",
      "lanes": [
        {
          "id": "me",
          "name": "You",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "s1",
          "kind": "start",
          "lane": "me",
          "next": [
            {
              "to": "s2"
            }
          ],
          "uses": [],
          "label": "Whites, darks and delicates"
        },
        {
          "id": "s2",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "s3"
            }
          ],
          "uses": [],
          "label": "Check pockets for tissues, pens and cash"
        },
        {
          "id": "s3",
          "kind": "decision",
          "lane": "me",
          "next": [
            {
              "to": "s4",
              "label": "Yes"
            },
            {
              "to": "s5",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Any stains?"
        },
        {
          "id": "s4",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "s5"
            }
          ],
          "uses": [],
          "label": "Pre-treat with stain remover"
        },
        {
          "id": "s5",
          "kind": "end",
          "lane": "me",
          "next": [],
          "uses": [],
          "label": "Load the washer, but not too full"
        }
      ],
      "title": "Sorting",
      "parent": {
        "map": "m_root",
        "step": "l2"
      }
    }
  }
}
```
