---
title: Automate the Boring Stuff
theme: studio
generated: agent
---

[@styles]: ./theme.css

# Automate the Boring Stuff

---

# Introduction

--- 

About me:
Hello 👋🏻 

I’m Paul (twin #1), CEO and cofounder of Pathwright.

I’ve spent three decades designing and developing software products with my twin. 

When designing software, I like to think of two jobs:

1. reducing friction
2. granting superpowers

That’s what Pathwright is designed to do for teachers and learners. 

More recently, I’ve been exploring how LLM agents can reduce friction in making progress on anything: a career, startup, project, hobby — you name it.

--- 

# Why “automate” the “boring” stuff?

`Faster`, `fewer errors`, `lower cost` — sure, but my favorite reason is to:

> Free up creative mental energy for more satisfying, better work. 

---

# Humans: Always-Be-Automating

`automate`: to make something that acts on its own.

![@image(height=360 fit=contain) Three eras of automation: animals and humans are adaptive and non-deterministic, machines and software are deterministic, and AI agents are adaptive.](./images/automation-eras.png)

--- 

# What do we want to automate?

The `boring` stuff:

> Repetitive, dull work that feels like it’s wearing a hole through your soul that all your spare creative mental energy is leaking out of.

**Not all boredom should be (fully) automated away!** Taking care of your health, budgeting, and keeping things tidy can be boring — but essential — habits. And being “bored” occasionally is good — it’s fertile ground for creative ideas.

--- 

> What is one task you do repeatedly that drains your mental/creative energy and that you’d most like to automate?

---

# Mental assembly-line work

<div class="assembly-line-visual">

![@image(fit=contain) Three repeated work steps shown as circles moving along arrows and continuing onward.](./images/mental-assembly-line.png)

</div>

---

# Mental assembly-line examples

<dl class="assembly-line-examples">
  <dt><code>information → form / report</code></dt>
  <dd>Filling out standard forms or reports: RFPs, applications, metrics…</dd>

  <dt><code>apps / content / data → information</code></dt>
  <dd>Hunting and gathering information across emails, calendars, notes, apps, spreadsheets, the web…</dd>

  <dt><code>information → reformatted information</code></dt>
  <dd>Transporting information from one app to another, from notes to summaries, from transcripts to tasks…</dd>

  <dt><code>information → standard → information</code></dt>
  <dd>Double-checking: proofreading, reconciling, categorizing, reviewing, monitoring, compliance assessment…</dd>

  <dt><code>status → information → status → …</code></dt>
  <dd>Monitoring: scheduling, following up, checking in, reviewing status…</dd>
</dl>

---

# How to automate the boring stuff

You can automate an amazing amount of boring stuff using three simple tools: `agents` + `folders` + `files`.

`agent`: an AI that can work with your computer’s folders, files, and apps to complete goals.

`folders`: the folders on your computer (or iCloud/Drive).

> Have you given an agent access to a folder on your computer?

`files`: the docs, images, and other files you put in your folder.


---

# Files are the new code

Because LLMs can easily understand and write text, **plain language** is the most powerful programming language.

A page of well-written English can yield results that thousands of lines of `code` would struggle to match.

---

# How to write language programs:

1. Create a Markdown file like `daily-brief.workflow.md` (plain text also works).
2. In the file, clearly write what you’d like the agent to do.
3. Point an agent at it.

We’ll now use the three ingredients — `agents` + `folders` + `files` — together to automate a small workflow.

---

# Patterns

Rather than copy + paste other people’s prompts or follow a step-by-step guide, practice using simple patterns that you can improve and apply as needed.

Here are some automation patterns I use (and I’d love to hear yours!)


<div class="pattern-cards">

[Minimum Viable Workflow (MVW)](./patterns/minimum-viable-workflow.path.md?play=presentation#minimum-viable-workflow)

[Backwards design](./patterns/backwards-design.path.md?play=presentation#backwards-design)

[Iterate and Debug](./patterns/iterate-debug.path.md?play=presentation#iterate-debug)

[Minimalism](./patterns/minimalism.path.md?play=presentation#minimalism)

[Walk block-by-block](./patterns/walk-block-by-block.path.md?play=presentation#walk-block-by-block)

[Canonical sources](./patterns/canonical-sources.path.md?play=presentation#canonical-sources)

[Artifact](./patterns/artifact.path.md?play=presentation#artifact)

[Mise en place](./patterns/mise-en-place.path.md?play=presentation#mise-en-place)

[Just ask!](./patterns/just-ask.path.md?play=presentation#just-ask)

[Agent rules](./patterns/agent-rules.path.md?play=presentation#agent-rules)

</div>

[Play all patterns](./patterns/index.path.md?play=presentation)

---

# Notes & Links

If you’re trying to apply the patterns in this presentation, just share this link with the agent: [paulnjohnson.com/guides/automate-the-boring-stuff](https://paulnjohnson.com/guides/automate-the-boring-stuff)

[Workshop questions and problem patterns](./workshop-field-notes.reference.md)
