April 8, 2026 · Ryan Wanner
How do I build a small AI-assisted tool I can actually test?
Define one user and one job, write the acceptance checks, then build a thin input-to-output slice. Try empty, invalid and ordinary inputs before calling the result useful. Keep the source and a recovery note; publication is a separate decision.
All classesThe April workshop
Specify the behavior you can observe
Each class was taught live by Ryan Wanner to working real estate agents.
No verified recording is available for this class. The original deck was not recovered. This current practice companion uses the associated Vibe Coding source guide; it does not recreate the presentation.
Write user, job, inputs, outputs, states, and acceptance tests first.
Build a thin end-to-end slice.
Keep secrets out of prompts and client code.
Before you ask AI to code
A tiny tool, with a clear finish line
Fictional agent Jordan Lee wants an open-house preparation checklist. Your first version needs a date, a start time and three tasks. Write the behavior for empty and invalid inputs before adding features.
From one job to a tested local draft
- 01
Choose one job
Write a one-sentence brief for fictional agent Jordan Lee: prepare an open-house checklist from an event date, start time and three tasks. Name the features you will leave out.
- 02
Specify states
Describe what the tool should show for ordinary, empty, invalid and saved inputs. Explain how it should help someone correct a missing date without losing the tasks they typed.
- 03
Define tests first
Write the expected result for each input state before asking for code. Include a normal example, a missing value and an invalid value.
- 04
Build one slice
Ask AI to build one local path from input to checklist preview to printing. Use fictional inputs and inspect the generated files before running them.
- 05
Try the user path
Try the draft with a keyboard, a narrow screen, long task text and an invalid date. Record what you observe beside each expected result.
- 06
Repair and own it
Choose one failed check and request a specific repair. Rerun that check, then keep the working source files, usage notes and known limits.
Three ways this project gets larger than it needs to be
Adding connections before testing the input
Prove one local input-to-output path. A CRM connection adds permissions and failure states to a tool you have not tested yet.
Calling a preview a finished tool
Try missing dates, long task text and keyboard navigation. Record what actually happens against the acceptance check.
Losing the working version
Keep the source files, usage notes and the last passing version before making the next change.
Keep the specification and the test log
Create a free student portal account to download this class's files.
- Vibe Coding: Specify and Test One Useful Tool working sheet
Current exercise, safe inputs, result checks and revision log.
Read the complete worksheet
# Vibe Coding: Specify and Test One Useful Tool Current companion, prepared November 8, 2026, for the April 8, 2026 class. The exercises are editorial practice; no particular attendee outcome is claimed. No verified recording was located. Define one user and one job, write the acceptance checks, then build a thin input-to-output slice. Try empty, invalid and ordinary inputs before calling the result useful. Keep the source and a recovery note; publication is a separate decision. ## Choose one job Write a one-sentence brief for fictional agent Jordan Lee: prepare an open-house checklist from an event date, start time and three tasks. Name the features you will leave out. Check: No CRM, payment, lead capture, or sending features sneaked into scope. My input: Observed result: Correction and next action: ## Specify states Describe what the tool should show for ordinary, empty, invalid and saved inputs. Explain how it should help someone correct a missing date without losing the tasks they typed. Check: Blank date and no tasks produce an understandable correction; no fabricated default date. My input: Observed result: Correction and next action: ## Define tests first Write the expected result for each input state before asking for code. Include a normal example, a missing value and an invalid value. Check: Test expectations describe visible behavior, not merely “it works.” My input: Observed result: Correction and next action: ## Build one slice Ask AI to build one local path from input to checklist preview to printing. Use fictional inputs and inspect the generated files before running them. Check: Inspect changed files; no secrets, external requests, or unrequested tracking. My input: Observed result: Correction and next action: ## Try the user path Try the draft with a keyboard, a narrow screen, long task text and an invalid date. Record what you observe beside each expected result. Check: Text remains readable; validation is actionable; output preserves entered facts. My input: Observed result: Correction and next action: ## Repair and own it Choose one failed check and request a specific repair. Rerun that check, then keep the working source files, usage notes and known limits. Check: Keep a working copy and recovery instructions; public deployment is a separate reviewed action. My input: Observed result: Correction and next action: ## Save the working record Source, owner and date: Exact version: What passed: What failed or remains unknown: Permission needed before external use: Next review date:
Read the starting request
Help me specify a local open-house preparation checklist for fictional agent Jordan Lee. Inputs are an event date, start time and three preparation tasks. First ask for missing requirements. Define ordinary, empty, invalid and saved states and observable acceptance checks. Then propose one input-to-preview-to-print slice. Use fictional data, preserve entered facts and keep secrets, network calls, tracking, payment, CRM and sending out of scope. Explain how I can inspect and test the generated files. Do not publish.
Before the first build
Editorial answers for this practice exercise.
Do I need to know how to code?
You can start with a clear specification. You still need to inspect and test the result, and obtain technical help when the work exceeds your understanding.
What should I build first?
Choose a small local tool with fictional inputs, such as the preparation checklist below. Keep CRM connections, payments and sending out of the first exercise.
Is the first generated version finished?
No. Compare its actual behavior with the acceptance checks, record failures and make one specific correction.
Must I publish the tool?
No. A tested local draft is a useful learning result. Review hosting, data handling and the exact artifact before any public release.
Where is the April recording?
No verified recording or original deck was recovered for this occurrence. This is a current practice companion to the associated class, not a recreation of what appeared on screen.
Choose your next useful practice
Context Kits and AI Systems: The Full-Day Workshop
Compare the next practical application.
Build Along: Make and Revise One Client Resource
Try a different kind of useful output.
Keep your context current
Date the facts you reuse and resolve conflicts before drafting.
After the acceptance tests
Make your useful tool part of a working process.
The specification gives you a small, testable starting point. Review AI Acceleration: Build when you want help connecting a defined tool to your business process.