Contents
- 01The Builder's Starting Line
- 02Your Computer, Explained
- 03How Software Fits Together
- 04Start With the Work
- 05Build Your First Useful Tool
- 06Make Changes Safely
- 07Prompts Are Specifications
- 08Models Are Components
- 09Give Agents Jobs, Not Vibes
- 10Tools, APIs, and the Harness
- 11Truth Before Intelligence
- 12Patterns for Real Systems
- 13Approval Is a Feature
- 14Receipts or It Didn’t Happen
- 15Operate and Debug the Loop
- 16Design Your Own OS
- 17Make It Ready for Real Life
- 18Build and Evolve Your OS
Build Your First Useful Tool
Turn one small piece of work you understand into software another person can actually use.
Choose a vertical slice
A vertical slice completes one narrow outcome from beginning to end. It includes enough interface, logic, and state for a real person to use it, but excludes every adjacent ambition. A meeting-note tool might accept text, extract decisions and owners, let a person correct them, and export a follow-up. It does not also need a company knowledge graph.
Choose a problem you have personally experienced and a result you can inspect. Your advantage as a beginner is proximity to the work. You can tell whether the output is useful even while an agent helps with implementation you could not yet write alone.
“Your first build should be small enough to finish and real enough to matter.”
Write the build brief
Before opening a coding agent, describe the user, trigger, input, outcome, constraints, and proof. Add explicit exclusions. If the agent must guess whether accounts, payments, collaboration, or mobile support are required, the project will expand faster than your ability to understand it.
Ask the agent to respond with a plan and a system map before it edits files. The plan should name the main screens, data shape, important files, risks, and test approach in plain language. Correct the model before paying the cost of implementing it.
Build with explanations
Let the agent create the first complete version in bounded steps. After each step, ask what changed, why those files own the behavior, how to run it, and what remains unproven. Inspect the actual diff rather than relying only on the summary.
You do not need a line-by-line lecture. Focus on consequential boundaries: where input enters, where it is validated, where state lives, where secrets are read, which external actions can occur, and what happens when something fails.
Case file
crossing the line from workflow to software at Replit
At Replit, agent-assisted building made it possible to move from configuring existing business tools toward creating custom prospect-facing apps and outbound workflows. A company hackathon made the constraint concrete: produce something useful enough to be judged by engineering, design, and company leadership under time pressure.
The important shift was not that an agent could generate code. It was that domain knowledge could be translated into a working product, tested in a real environment, and presented as an outcome rather than a technical idea.
Winning first place was one receipt from that process. The more durable lesson was that a small, coherent system with a clear user and proof can cross the boundary between a nontechnical role and real software work.
Decisions made
- 01Anchor the build in a workflow already understood from direct experience.
- 02Scope the product around one demonstrable outcome.
- 03Use the agent for speed while retaining judgment over the user experience and proof.
- 04Show the running result to technical and business reviewers.
A coding agent lowers the implementation barrier, but usefulness still comes from choosing the right slice, making the system coherent, and proving the result.
Test real examples and exceptions
A happy-path demo proves that one prepared example worked. A useful tool must also handle missing input, strange input, repeated actions, slow services, and a person changing their mind. Start with examples from the real workflow, including the cases that normally force manual cleanup.
Write expected behavior before testing. If a required field is empty, the interface should explain what is needed. If an external service fails, the user should know the action did not complete. If the same request is submitted twice, the system should avoid creating two consequential results.
Learn from one user
Give the tool to one person who experiences the problem. Watch where they hesitate, what they assume, and what they try that you did not predict. Ask whether the tool changed the outcome, not whether the colors look nice.
Turn the observation into one bounded next change. Finishing, observing, and improving a small system teaches more than generating five abandoned prototypes.
Across the business
What this looks like in other departments
The engineering principle stays the same; the workflow, risk, and proof change with the domain.
Finance
Exception reviewer
Upload a small reconciliation file, flag mismatches with reasons, let a reviewer resolve them, and export a close record.
People & HR
Onboarding readiness check
Collect role and start-date inputs, show missing dependencies, and produce an owner-by-owner launch checklist.
Customer support
Case context builder
Combine a pasted customer message with selected account facts and produce an editable investigation brief.
Small business
Estimate follow-up
Capture job details, produce a draft estimate, require owner review, and record whether it was sent.
Technical deep dive
The first-build loop
A repeatable sequence for turning a plain-language problem into a deployed, observed tool.
- 01BriefDefine one user, outcome, constraint set, exclusion list, and acceptance check.
- 02MapHave the agent explain the interface, logic, state, files, and environment before implementation.
- 03BuildImplement the smallest end-to-end path in reviewable changes and keep it runnable after each step.
- 04BreakTest representative examples, missing input, repeated actions, and dependency failures.
- 05ShareDeploy a specific version, verify the public or preview address, and give it to one user.
- 06LearnRecord what the user did, choose one improvement, and preserve the evidence from the completed loop.
Reference schema
brief: user + problem + outcome + exclusions system: interface + logic + state + external services acceptance: examples + exceptions + expected results release: environment + version + URL + rollback learning: observation + next change + receipt
Try it yourself
Choose and bound your first tool
Turn one repeated annoyance into a vertical slice you can finish in a weekend or a few focused sessions.
- 1Write ten recurring annoyances from work or life.
- 2Circle one with a clear input, user, and checkable outcome.
- 3Describe the smallest end-to-end version in three sentences.
- 4List five features the first version explicitly will not include.
- 5Choose one real person and three real examples for testing.
Reusable artifact
First useful tool brief
A prompt-ready brief for a coding agent and a human reviewer.
User: [one specific person or role] Problem: [repeated observable pain] Trigger and input: [what starts the work] Outcome: [what the tool produces or changes] First-version flow: [three to six steps] Out of scope: [at least five exclusions] Real test examples: [normal, edge, failure] Acceptance: [what must be visibly true] Environment: [local, preview, or production] Receipt: [URL, version, screenshot, test result]
Before you move on
Receipt checklist
- The build solves one real workflow for one named user.
- The first version has explicit exclusions.
- Normal, edge, and failure examples have expected results.
- A specific deployed version is tested by someone other than the builder.
Primary sources
