# Morning routine: from alarm to out the door

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0iehl5005tjw067dtakrnh
> 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

- 20 steps across 2 layers
- Persona: You, Family or pets
- Technology / systems: Phone alarm, Coffee maker

## Pain points

Where this process hurts, worst first:

- **Search the usual spots: couch, jacket, bag** (Morning routine: from alarm to out the door; painful): Hunting for keys: four minutes a day, every day
- **Hit snooze (just 9 more minutes)** (Morning routine: from alarm to out the door; annoying): Snoozing costs about half an hour of the day

## 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`.

## Morning routine: from alarm to out the door

Lanes:
- You: person / role (id `me`)
- Phone alarm: technology / system (id `phone`)
- Coffee maker: technology / system (id `coffee`)
- Family or pets: person / role (id `fam`)

Steps, in the order they run:

1. **The alarm goes off** [start; Phone alarm; id `m1`]
   - then Awake enough to get up?
2. **Awake enough to get up?** [decision; You; id `m2`]
   - if "Yes" go to Feet on the floor, lights on; if "No" go to Hit snooze (just 9 more minutes)
3. **Feet on the floor, lights on** [task; You; id `m3`]
   - then Start the coffee
4. **Start the coffee** [task; Coffee maker; id `m4`]
   - then Shower and get dressed
5. **Shower and get dressed** [subprocess; You; id `m5`], opens the detail layer "Getting dressed"
   - then Check the weather and your calendar
6. **Check the weather and your calendar** [task; You; id `m6`]
   - then Feed the pets, say good morning
7. **Feed the pets, say good morning** [task; Family or pets; id `m7`]
   - then Time for breakfast?
8. **Time for breakfast?** [decision; You; id `m7b`]
   - if "Yes" go to Eat something with protein; if "No — grab something" go to Throw a snack in your bag
9. **Eat something with protein** [task; You; id `m8`]
   - then Coffee is ready
10. **Coffee is ready** [task; Coffee maker; id `m10`]
   - then Keys, wallet, phone, badge. All here?
11. **Keys, wallet, phone, badge. All here?** [decision; You; id `m11`]
   - if "Yes" go to Out the door; if "No" go to Search the usual spots: couch, jacket, bag
12. **Out the door** [end; You; id `m13`]
13. **Search the usual spots: couch, jacket, bag** [task; You; id `m12`] ⚠ PAIN POINT (painful): Hunting for keys: four minutes a day, every day
   - then Keys, wallet, phone, badge. All here?
14. **Throw a snack in your bag** [task; You; id `m9`]
   - then Coffee is ready
15. **Hit snooze (just 9 more minutes)** [task; You; id `m2a`] ⚠ PAIN POINT (annoying): Snoozing costs about half an hour of the day
   - then The alarm goes off again
16. **The alarm goes off again** [task; Phone alarm; id `m2b`]
   - then Awake enough to get up?

```mermaid
flowchart LR
  subgraph l_me["You"]
    n_m2{"Awake enough to get up?"}
    n_m2a["Hit snooze (just 9 more minutes)"]
    n_m3["Feet on the floor, lights on"]
    n_m5[["Shower and get dressed"]]
    n_m6["Check the weather and your calendar"]
    n_m7b{"Time for breakfast?"}
    n_m8["Eat something with protein"]
    n_m9["Throw a snack in your bag"]
    n_m11{"Keys, wallet, phone, badge. All here?"}
    n_m12["Search the usual spots: couch, jacket, bag"]
    n_m13(["Out the door"])
  end
  subgraph l_phone["Phone alarm"]
    n_m1(["The alarm goes off"])
    n_m2b["The alarm goes off again"]
  end
  subgraph l_coffee["Coffee maker"]
    n_m4["Start the coffee"]
    n_m10["Coffee is ready"]
  end
  subgraph l_fam["Family or pets"]
    n_m7["Feed the pets, say good morning"]
  end
  n_m1 --> n_m2
  n_m2 -->|"Yes"| n_m3
  n_m2 -->|"No"| n_m2a
  n_m2a --> n_m2b
  n_m2b --> n_m2
  n_m3 --> n_m4
  n_m4 --> n_m5
  n_m5 --> n_m6
  n_m6 --> n_m7
  n_m7 --> n_m7b
  n_m7b -->|"Yes"| n_m8
  n_m7b -->|"No — grab something"| n_m9
  n_m8 --> n_m10
  n_m9 --> n_m10
  n_m10 --> n_m11
  n_m11 -->|"Yes"| n_m13
  n_m11 -->|"No"| n_m12
  n_m12 --> n_m11
```

### Getting dressed (detail of step "Shower and get dressed")

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

Steps, in the order they run:

1. **Check the weather** [start; You; id `d1`]
   - then Anything clean that fits the day?
2. **Anything clean that fits the day?** [decision; You; id `d2`]
   - if "Yes" go to Dressed; if "No" go to Dig out a backup outfit or do a quick wash
3. **Dressed** [end; You; id `d3`]
4. **Dig out a backup outfit or do a quick wash** [task; You; id `d4`]
   - then Anything clean that fits the day?

```mermaid
flowchart LR
  subgraph l_me["You"]
    n_d1(["Check the weather"])
    n_d2{"Anything clean that fits the day?"}
    n_d4["Dig out a backup outfit or do a quick wash"]
    n_d3(["Dressed"])
  end
  n_d1 --> n_d2
  n_d2 -->|"Yes"| n_d3
  n_d2 -->|"No"| n_d4
  n_d4 --> n_d2
```

## Full data (JSON)

```json
{
  "title": "Morning routine: from alarm to out the door",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "me",
          "name": "You",
          "type": "person"
        },
        {
          "id": "phone",
          "name": "Phone alarm",
          "type": "system"
        },
        {
          "id": "coffee",
          "name": "Coffee maker",
          "type": "system"
        },
        {
          "id": "fam",
          "name": "Family or pets",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "m1",
          "kind": "start",
          "lane": "phone",
          "next": [
            {
              "to": "m2"
            }
          ],
          "uses": [],
          "label": "The alarm goes off"
        },
        {
          "id": "m2",
          "kind": "decision",
          "lane": "me",
          "next": [
            {
              "to": "m3",
              "label": "Yes"
            },
            {
              "to": "m2a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Awake enough to get up?"
        },
        {
          "id": "m2a",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "m2b"
            }
          ],
          "pain": {
            "note": "Snoozing costs about half an hour of the day",
            "level": 1
          },
          "uses": [],
          "label": "Hit snooze (just 9 more minutes)"
        },
        {
          "id": "m2b",
          "kind": "task",
          "lane": "phone",
          "next": [
            {
              "to": "m2"
            }
          ],
          "uses": [],
          "label": "The alarm goes off again"
        },
        {
          "id": "m3",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "m4"
            }
          ],
          "uses": [],
          "label": "Feet on the floor, lights on"
        },
        {
          "id": "m4",
          "kind": "task",
          "lane": "coffee",
          "next": [
            {
              "to": "m5"
            }
          ],
          "uses": [],
          "label": "Start the coffee"
        },
        {
          "id": "m5",
          "kind": "subprocess",
          "lane": "me",
          "next": [
            {
              "to": "m6"
            }
          ],
          "uses": [],
          "child": "m_dress",
          "label": "Shower and get dressed"
        },
        {
          "id": "m6",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "m7"
            }
          ],
          "uses": [],
          "label": "Check the weather and your calendar"
        },
        {
          "id": "m7",
          "kind": "task",
          "lane": "fam",
          "next": [
            {
              "to": "m7b"
            }
          ],
          "uses": [],
          "label": "Feed the pets, say good morning"
        },
        {
          "id": "m7b",
          "kind": "decision",
          "lane": "me",
          "next": [
            {
              "to": "m8",
              "label": "Yes"
            },
            {
              "to": "m9",
              "label": "No — grab something"
            }
          ],
          "uses": [],
          "label": "Time for breakfast?"
        },
        {
          "id": "m8",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "m10"
            }
          ],
          "uses": [],
          "label": "Eat something with protein"
        },
        {
          "id": "m9",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "m10"
            }
          ],
          "uses": [],
          "label": "Throw a snack in your bag"
        },
        {
          "id": "m10",
          "kind": "task",
          "lane": "coffee",
          "next": [
            {
              "to": "m11"
            }
          ],
          "uses": [],
          "label": "Coffee is ready"
        },
        {
          "id": "m11",
          "kind": "decision",
          "lane": "me",
          "next": [
            {
              "to": "m13",
              "label": "Yes"
            },
            {
              "to": "m12",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Keys, wallet, phone, badge. All here?"
        },
        {
          "id": "m12",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "m11"
            }
          ],
          "pain": {
            "note": "Hunting for keys: four minutes a day, every day",
            "level": 2
          },
          "uses": [],
          "label": "Search the usual spots: couch, jacket, bag"
        },
        {
          "id": "m13",
          "kind": "end",
          "lane": "me",
          "next": [],
          "uses": [],
          "label": "Out the door"
        }
      ],
      "title": "Morning routine: from alarm to out the door",
      "parent": null
    },
    "m_dress": {
      "id": "m_dress",
      "lanes": [
        {
          "id": "me",
          "name": "You",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "d1",
          "kind": "start",
          "lane": "me",
          "next": [
            {
              "to": "d2"
            }
          ],
          "uses": [],
          "label": "Check the weather"
        },
        {
          "id": "d2",
          "kind": "decision",
          "lane": "me",
          "next": [
            {
              "to": "d3",
              "label": "Yes"
            },
            {
              "to": "d4",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Anything clean that fits the day?"
        },
        {
          "id": "d4",
          "kind": "task",
          "lane": "me",
          "next": [
            {
              "to": "d2"
            }
          ],
          "uses": [],
          "label": "Dig out a backup outfit or do a quick wash"
        },
        {
          "id": "d3",
          "kind": "end",
          "lane": "me",
          "next": [],
          "uses": [],
          "label": "Dressed"
        }
      ],
      "title": "Getting dressed",
      "parent": {
        "map": "m_root",
        "step": "m5"
      }
    }
  }
}
```
