Build Your First Agent App
Turn one real decision into a small working app without asking Agent to invent the product for you.
By the end
A narrow app with a clear user, one input-to-outcome workflow, meaningful empty and error states, and a reviewed checkpoint.
Start from a decision, not a dashboard
A first app should help one person make one decision or complete one job. 'Build a dashboard' describes a shape, not a purpose. 'Help an office manager turn a facilities request into an assigned owner and due date' describes a user, input, transformation, and outcome. Agent can design the interface more reliably when the work is concrete.
Choose a workflow you understand well enough to judge. It can serve sales, operations, finance, recruiting, customer support, education, or your household. Avoid starting with payments, medical data, destructive automation, or a large multi-role product. The first goal is to learn the build loop on a reversible problem.
Write a brief Agent can test
A useful first prompt contains the user, pain, successful journey, essential records, visual tone, constraints, and acceptance checks. It does not prescribe every component. Tell Agent which facts are real, which may be mocked, and what it must not add. This prevents a small app from becoming a generic platform.
Use examples. If the user submits a request, include two representative requests and the output each should produce. Examples expose hidden policy: required fields, categories, deadlines, and status transitions. They also become fixtures for later testing.
- User: one primary operator for the first version.
- Job: one repeated workflow with a visible finish line.
- Data: only the minimum records and fields needed for that job.
- States: empty, loading, success, invalid input, and failure.
- Acceptance: observable behavior, not 'make it polished.'
Watch the build without micromanaging
Let Agent establish the application, then read its task list and checkpoint summaries. Intervene when the product meaning is wrong, a constraint is ignored, or the build introduces unapproved scope. Do not interrupt solely because a file name looks unfamiliar. Ask what responsibility the file has and how the app proves it works.
After each meaningful checkpoint, test the journey yourself in Preview. Enter realistic data, reload the page, try an invalid submission, and inspect whether the result remains understandable. One successful happy path is a starting signal, not the finish line.
Iterate one observation at a time
Give revision prompts that point to evidence: 'On a 390-pixel-wide screen, the submit button is below a horizontally scrolling table. Replace the table with stacked cards on narrow screens and keep the desktop table.' This is more actionable than 'make mobile better.' Include what must remain unchanged.
Separate product corrections from visual polish. First fix whether the workflow produces the right state. Then improve hierarchy, language, spacing, and responsiveness. Bundling logic, data, design, and a new integration into every prompt creates large diffs that are difficult to test and roll back.
Review the checkpoint, not only the preview
A checkpoint is a recoverable milestone and a record of what Agent changed. Read its summary and inspect the changed files. Ask Agent to explain the data flow in plain language: where input is validated, where state is stored, and where errors appear. This is how a nontechnical builder gradually becomes able to supervise technical work.
Before advancing, write a release note for yourself: what now works, what is intentionally fake or temporary, what remains untested, and which checkpoint is the safe return point. This avoids discovering weeks later that a polished demo depended on in-memory sample data.
Working reference
Commands and patterns
Ask the project how it runs
ls cat package.json 2>/dev/null || true cat pyproject.toml 2>/dev/null || true
Inspect likely project manifests rather than assuming the language or start command. Generated Replit projects can use different stacks.
When the happy path breaks
Failure modes
Symptom
The first build contains accounts, billing, AI chat, analytics, and five roles.
Likely cause
The prompt described an industry-sized vision instead of one first workflow and a not-now list.
Recovery
Return to one user, one job, one data loop, and explicit exclusions; roll back if trimming is riskier than rebuilding narrowly.
Symptom
The interface is attractive, but it cannot answer what action the user should take.
Likely cause
The prompt began with a page type or aesthetic instead of a decision and outcome.
Recovery
Rewrite the brief around 'Given / when / then' and make every main component support that journey.
Symptom
A fix improves one screen while breaking another feature.
Likely cause
A vague revision prompt changed too much without preservation constraints or regression checks.
Recovery
Describe the observed defect, target condition, must-preserve behavior, and exact checks before implementation.
Hands-on lab
Ship a one-loop intake app to Preview
Use Agent to create an app that accepts a structured request, turns it into a visible work item, and lets the operator change its status.
- 01Choose a familiar workflow and complete the one-loop brief below with two realistic examples.
- 02Ask Agent to build only the first journey, with sample data allowed but clearly labeled.
- 03Test empty, valid, invalid, and failure states in Preview on desktop and a narrow viewport.
- 04Make one logic correction and one visual correction in separate prompts, each with a must-preserve clause.
- 05Review the checkpoint summary and ask Agent to explain the input, validation, state, and output path.
Deliverable: A Preview URL, a reviewed checkpoint, two before-and-after observations, and a list of everything still simulated.
Reusable artifact
One-loop Agent brief
A reusable brief for turning a known workflow into a testable first application.
Build a small web app for [primary user]. Their repeated job is [job]. Today the pain is [specific friction]. The first successful journey is: Given [starting state], when [action], then [visible result]. Records: [record names]. Required fields: [minimum fields]. Include: [3-5 essential capabilities]. Do not include yet: [roles, billing, integrations, or other scope]. Use sample data only for [purpose] and label it clearly. Acceptance checks: [happy path], [invalid input], [empty state], [mobile check]. Before changing extra scope, stop and ask me.
Before you move on
Receipt checklist
- A new record can be created from realistic input and appears in the correct visible state.
- Empty and invalid states explain what happened and what the user should do next.
- The critical journey works after a page reload, or any temporary persistence is explicitly disclosed.
- The latest checkpoint summary and changed-file explanation match the requested scope.
Primary sources
