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
How Software Fits Together
See an application as a small set of understandable responsibilities instead of a wall of code.
Five parts of an application
Most applications can be understood through five responsibilities. The interface collects and displays information. The application logic applies rules. The data layer remembers state. Integrations communicate with other systems. Identity and permissions decide who may see or change what.
Small tools may combine all five in one project. Large systems may split them across hundreds of services. The useful question is not how many files exist. It is which responsibility owns the behavior you want to understand or change.
- Interface: what the person sees and does.
- Logic: the rules and transformations behind an action.
- Data: what must survive after the current screen or process ends.
- Integration: how the app communicates with another system.
- Identity: who the user is and what they are allowed to do.
“You do not need to know every line to know which part should own a behavior.”
Follow one request
Imagine a person clicks Approve. The interface packages the record identifier and the intended action into a request. A server receives it, confirms the person's identity and permission, loads the current record, applies the approval rule, saves the new state, and returns a response. The interface then shows the result.
This request lifecycle is a powerful debugging map. If the button does nothing, inspect the interface event. If the server rejects the action, inspect the request and authorization. If the screen says approved but refreshes to pending, inspect persistence. If another system never receives the update, inspect the integration and its logs.
Front end and back end
The front end is the part delivered to the user's device: screens, forms, buttons, and client-side interaction. The back end is the part that runs under the application's control: protected logic, database access, jobs, and integrations. This is a responsibility boundary, not a judgment about which side is more important.
Anything sent to a browser should be treated as visible to the user. That is why privileged secrets and final authorization decisions belong on the back end. A hidden button is not security; the server must still decide whether the requested action is allowed.
Case file
turning account judgment into a Replit app
At Replit, I built prospect-facing apps and outbound workflows from business problems I already understood. An account workflow might begin as scattered research, CRM fields, notes, and individual judgment; an agentic coding environment could help turn that raw process into custom software.
The app was still more than a generated page. Account records needed a source. Server logic retrieved and transformed the right fields. Interface components presented them. Actions updated state or triggered an integration. Permissions determined who could operate the workflow.
Replit provided one path from description to running application. Claude Code, Cursor, and Codex can support the same responsibility map inside a repository: interface, logic, data, integrations, identity, and proof must still fit together coherently.
Decisions made
- 01Start with the decision the user needs to make.
- 02Name the authoritative source for each important field.
- 03Keep read operations separate from consequential actions.
- 04Make the result of an action visible in both state and history.
Agentic coding environments can shorten implementation, but software still needs clear ownership of interface, logic, data, integration, identity, and proof.
Data, state, and databases
State is information the system must remember: a user's profile, an invoice status, a document version, a workflow step, or a conversation. A database is a structured place to persist and query that state. A spreadsheet can also hold state, but it offers different guarantees, relationships, access controls, and scaling behavior.
A schema defines the shape of stored information. A useful schema reflects the domain: records have identifiers, meaningful fields, relationships, timestamps, and lifecycle states. If the data model cannot distinguish draft from approved, the interface cannot reliably recover that distinction later.
APIs are contracts
An API is a defined way for one program to ask another program for information or an action. The contract names what can be requested, what inputs are required, what result comes back, and which errors are possible. A good API lets both sides evolve without depending on each other's internal code.
Agent tools follow the same idea. A tool named send_invoice should define the invoice identifier, recipient, allowed states, confirmation behavior, result, and errors. A vague tool called do_finance_work pushes important decisions into a place you cannot inspect.
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
Approval as a full request
A payment button triggers permission checks, validates the invoice state, records the approver, updates the ledger workflow, and returns a receipt.
Customer support
One case, several layers
The interface shows the conversation, logic applies routing rules, data stores history, and integrations retrieve product or billing context.
Marketing
Publishing with boundaries
A review interface, content state, approval roles, publishing API, and audit trail together form the campaign system.
Operations
Make handoffs persistent
Store owner, state, deadline, dependency, and exception explicitly so work survives beyond one person's browser session.
Technical deep dive
The request lifecycle
Trace one user action through the system before asking an agent to change it.
- 01IntentThe user performs a specific action in an interface with a visible expected outcome.
- 02RequestThe interface sends structured input and the user's identity to a controlled endpoint.
- 03DecideServer logic validates input, checks permission, and applies domain rules to current state.
- 04PersistThe system saves the state change and any required audit record as one reliable operation.
- 05RespondThe endpoint returns a success or useful error that the interface can present honestly.
- 06ObserveLogs, metrics, and receipts make the path inspectable after the immediate request ends.
Reference schema
interface event: actor + intent + visible state request: route + method + structured input + identity decision: validation + authorization + domain rule persistence: record change + audit event response: result + error shape + receipt
Try it yourself
Trace a familiar button
Choose one button in software you use and describe the complete system behavior it should trigger.
- 1Write the person's intent in one sentence.
- 2List the input the interface must send.
- 3Name the permission and business rule the server should check.
- 4Describe the saved change and the response the user should see.
Reusable artifact
Software anatomy canvas
A one-page map from user action to durable system result.
User and goal: [who needs what] Interface: [screen, form, or command] Logic: [rules and transformations] Data: [records and source of truth] Integrations: [external systems and contracts] Identity: [authentication and roles] Request lifecycle: [action to response] Proof: [state, history, and observable result]
Before you move on
Receipt checklist
- The five responsibilities are mapped for one real application.
- One user action is traced from interface to response.
- Authentication and authorization are treated separately.
- The durable state change and audit evidence are explicit.
Primary sources
