Today you'll watch an AI helper get built, start to finish.
No laptop or setup needed. Just watch.
Want to try it later? tinyurl.com/npi-ai-helper
The AI does the chopping.
You decide what goes on the plate, and what never leaves the kitchen.
Every week, a volunteer coordinator opens the sign-up spreadsheet and builds next week's schedule by hand.
Who's free Saturday? Who's done this before? Who got stuck with the phone bank last time?
A person was going to check it anyway
Ours? Obviously.
A calendar for next week.
Every shift staffed, with an experienced person where it's needed.
People get the shifts they prefer. Shifts are spread fairly.
A person checks it. The tool never contacts anyone.
A sign-up spreadsheet, like a Google Form export.
30 volunteers. Five shifts a week.
Every single name is made up.
No.
That's the point.
Here's one we made earlier.
The recipe cards are prompts: the instructions we typed to the AI. You see each card, then the dish.
Then you cook.
ok so: every week our volunteer coordinator takes the sign-up spreadsheet and builds a shift calendar by hand. I want a small tool that drafts the calendar, and a person checks it before anyone is told.
Don't write code yet. Write docs/BUILD_PLAN.md. The calendar should keep every shift staffed with the right number of people, including an experienced person where needed; give people their preferred shifts first; never schedule anyone outside their availability or over their limit; and spread shifts fairly. Lock the decisions: runs on my laptop, reads signups.xlsx, makes a calendar file I can import into Google Calendar plus a one-page view to check, never emails or texts anyone. Break it into phases I can build one at a time.
In plain English: make a plan first. Don't build yet. A person checks it. It never contacts anyone.
A 254-line plan, written before any code.
Twelve "locked decisions," each with a reason.
Nine steps, to build one at a time.1
https://github.com/smilne3/volunteer-scheduler/blob/main/docs/BUILD_PLAN.md ↩︎
Build Phase 0 from docs/BUILD_PLAN.md. Nothing from later phases. Tests must pass. Commit with a message that says what you did, then stop and show me.
In plain English: build step one only. Test it. Save it. Then stop and show me.
Then we said "next phase" eight more times. I took 3 meetings while Claude cooked.
Each step saved as its own version, like MyFile-v2.doc
First save 1:53 pm. Last step 5:01 pm.
Done before dinner.
Check this week's calendar against signups.xlsx like a skeptical volunteer coordinator. List anyone scheduled outside their availability or over their limit, anyone who didn't get a preferred shift they could have had, and any shift that's short-staffed or missing an experienced person. Don't fix anything yet.
Before anyone sees it, ask the AI to check its own work like a skeptic.
No broken rules. Then it listed what a skeptical coordinator would still worry about.
30 sign-ups read
Every shift filled
Everyone scheduled got a shift they wanted
This is how you check the AI's work.
The draft looked complete. Every shift full.
It had quietly left out 11 volunteers, including five experienced ones.
Their availability was typed in their own words, and the plan said a person has to confirm those first.
The lesson: ask what it left out.
Every shift had an experienced person. Most had only one.
If that one person cancels, nobody on the shift has done it before.
hmmm. I think Saturday PM sessions ... people are more likely to drop that day for personal reasons. Let's get another experienced person in case they drop.
The AI didn't know Saturdays fall apart. The coordinator did.
The lesson: you know things the spreadsheet doesn't.
Built with Claude Pro, a plan we already had
$0 to run: it lives on a laptop. No server, no subscription.
The finished tool doesn't use AI at all, so it can't run up a bill.
Your daily coffee run costs more.
Write docs/RUNBOOK.md for the volunteer coordinator who will run this every week. Assume they have never seen the code and never will. Start with the weekly review, then what to do when the sign-up form changes.
Written for the person who runs it next week. Or after you've moved on.
In the tool's save history, for whoever maintains it
At the bottom of every schedule, for whoever reads it
Add a line at the bottom of every schedule saying it was drafted with AI from the sign-up form and checked by staff.
Tell people AI helped. Twice.
🟢 Public: your website, funder pages, published reports. Go ahead.
🟡 Internal: budgets, drafts, totals with no names. Check your organization's AI policy first.
🔴 Personal: donor, client or other personal information. Keep it out.
Shout out a task you do every week or month.
We'll check it against the four questions.
Then we pick one and build it together, live.
The room's task, built from scratch.
Same recipe: plan first, build one step, check its work.
A classic car auction listing.
It says it has 142 photos. Only seven show up on the page.
Your helper's first job is to notice.
ag@workingpaper.co
workingpaper.co/presentations/build-your-own-agent
See the plan and the code: tinyurl.com/npi-volunteer-scheduler