How to build
complex software
with AI
A practical walkthrough of the decisions, setup, testing, and operational work behind a serious AI-assisted software product—based on documented experience.
By David McMasters. I’m not a developer. Over the past few months I built a complex software product with AI and kept a list of everything it took. The list got long.
Some steps are things I ran into; others are decisions and requirements I researched along the way. Not every project needs every step. Use the ones that fit yours.
Define what you're actually building
- 001Start with a rough idea rather than a usable engineering specification.Encountered / reported
- 002Decide whether the intended outcome is a business, internal tool, client project, personal utility, or experiment.Documented decision / task
- 003Identify who benefits from the product and who actually pays for it.Documented decision / task
- 004Write down what a successful first version must accomplish.Documented decision / task
- 005Separate the founder's vision from the implementation the AI happens to suggest.Documented decision / task
- 006Explain the same product thesis to ChatGPT, Claude, Codex, and separate agents.Encountered / reported
- 007Decide what belongs in the first usable slice.Documented decision / task
- 008Determine what can be deferred without losing the central promise.Documented decision / task
- 009Change direction when new evidence reveals a wrong first approach.Encountered / reported
- 010Record rejected directions so the next AI doesn't revive them.Documented decision / task
- 011Decide how much founder involvement is wanted versus what can be delegated.Documented decision / task
- 012Identify nonnegotiable customer ownership and spending limits.Documented decision / task
- 013Identify available time, budget, risk tolerance, and launch urgency.Documented decision / task
- 014Decide which actions need founder approval versus an automated safe default.Documented decision / task
- 015Define evidence that something is actually finished.Documented decision / task
- 016Distinguish a functioning demo from a durable real-world result.Documented decision / task
- 017Re-explain why generating more code was not necessarily progress.Encountered / reported
- 018Establish an explicit finish line before opening another task lane.Documented decision / task
Find a real problem and a reason to exist
- 019Research the actual pain of building ambitious products with AI.Encountered / reported
- 020Identify the buyer, everyday user, and alternatives they already know.Documented decision / task
- 021Study Lovable, Replit, Base44, Cursor, Claude, Codex, and emerging competitors.Encountered / reported
- 022Separate a competitor's advertised capability from a proved customer outcome.Documented decision / task
- 023Build a competitor matrix without assuming everyone else lacks planning or testing.Documented decision / task
- 024Compare your idea with existing tools, including the project tools you already use.My real build: agent managers and Linear.Encountered / reported
- 025Ask which parts of the existing product idea could be solved by buying or integrating something else.Documented decision / task
- 026Decide when founders need an initial prototype and when they need to graduate an existing one.Documented decision / task
- 027Clarify why BYOA is more than an extra connector.Encountered / reported
- 028Define the smallest compelling differentiating experience.Documented decision / task
- 029Rework the pitch after it sounded like a generic orchestration product.Encountered / reported
- 030Research which founder segments experience the pain most acutely.Documented decision / task
- 031Test whether the pain is actually worth paying to remove.Documented decision / task
- 032Separate technical success from customer adoption and business value.Documented decision / task
- 033Decide whether a feature advances the founder's actual goal.Documented decision / task
- 034Seek candid feedback from potential design partners rather than assuming the idea sells itself.Encountered / reported
- 035Compare market evidence, founder reports, provider claims, and AI-generated inference.Documented decision / task
- 036Reevaluate the project thesis as stronger builders acquire yesterday's differentiators.Documented decision / task
Still reading?
It doesn’t have a name yet. The code is a long way off.Name the thing. Then name it again.
- 037Start with an internal code name so naming doesn’t block the work.My real build: Relay.Encountered / reported
- 038Explore alternatives that don't sound like generic AI-product jargon.Encountered / reported
- 039Reject names that feel clichéd, confusing, or too close to existing brands.Encountered / reported
- 040Explore the connection between praxis, judgment, and purposeful action.Encountered / reported
- 041Shortlist a distinctive public-facing name.My real build: Praxeri.Encountered / reported
- 042Check the availability of the exact-match .com domain.Encountered / reported
Show the other 15 naming stepsIncluding the trademark search. Especially the trademark search.
- 043Check domain purchase terms and renewal economics.Encountered / reported
- 044Buy the exact-match domain and keep the registration records.Encountered / reported
- 045Screen similar-sounding business names and adjacent software brands.Documented decision / task
- 046Search trademark databases and likely conflict classes.Documented decision / task
- 047Flag potential confusion rather than declaring a trademark legally cleared.Documented decision / task
- 048Decide if specialist trademark counsel is needed before broader commercialization.Documented decision / task
- 049Determine whether the operating company needs a DBA or assumed-name filing.Documented decision / task
- 050Move documentation and customer copy to the public name.My real build: Relay became Praxeri.Encountered / reported
- 051Keep old code names inside the code if renaming is risky, but never in front of customers.Encountered / reported
- 052Update account, domain, application, and provider identity consistently.Documented decision / task
- 053Decide what the brand name means in plain English.Documented decision / task
- 054Define a voice that can be funny without mocking founders.Documented decision / task
- 055Test multiple headline directions rather than assuming a clever slogan explains the product.Encountered / reported
- 056Screen public claims so the brand doesn't promise things still on the roadmap.Documented decision / task
- 057Keep a record of approved, rejected, and superseded positioning.Documented decision / task
Congratulations, now you're a company
- 058Choose the legal entity that will run your beta.Encountered / reported
- 059Resolve personal funding versus company ownership of product assets.Documented decision / task
- 060Clarify member and intellectual-property ownership arrangements.Documented decision / task
- 061Document rights to code, domain, design, and contractor-created work.Documented decision / task
- 062Decide when a separate new company becomes appropriate.Documented decision / task
- 063Check entity name, registered details, and public legal contact.Documented decision / task
Show the other 16 company and legal stepsYour lawyer will want to read these.
- 064Determine whether an assumed-name registration is necessary.Documented decision / task
- 065Separate business and personal finances, contracts, and records.Documented decision / task
- 066Decide who is authorized to sign beta and provider agreements.Documented decision / task
- 067Prepare founder IP assignment or licensing documents where necessary.Documented decision / task
- 068Check legal risks of using third-party code and external model services.Documented decision / task
- 069Prepare beta participation terms appropriate to actual supported functionality.Documented decision / task
- 070Explain acceptable use and what the product refuses to do.Documented decision / task
- 071Define confidentiality expectations for early customers.Documented decision / task
- 072Explain how beta access can end and what happens to data.Documented decision / task
- 073Choose realistic warranties, limitations, and liability boundaries for counsel review.Documented decision / task
- 074Review technology errors-and-omissions and cyber insurance needs.Documented decision / task
- 075Set a support and vulnerability-reporting contact.Documented decision / task
- 076Determine regulated-data or high-risk uses the early cohort should not support.Documented decision / task
- 077Document what happens if a user's data or source is lost.Documented decision / task
- 078Have qualified counsel review binding terms before relying on them.Documented decision / task
- 079Keep legal language aligned with what the live application actually does.Documented decision / task
Write the privacy policy nobody knew you needed
- 080Discover that connecting an AI to a project also creates a data-handling product.Encountered / reported
- 081Inventory every category of information the application collects.Documented decision / task
- 082Account for prompts, responses, conversation history, files, and repository snippets.Documented decision / task
- 083Account for the project’s saved decisions, archived assumptions, and uploaded documents.Documented decision / task
- 084Account for OAuth authorization details and connection identifiers.Documented decision / task
- 085Account for error logs, diagnostic traces, model usage, and QA screenshots.Documented decision / task
Show the other 19 privacy stepsYes, there are that many.
- 086Inventory session cookies, browser storage, and analytics trackers.Documented decision / task
- 087Determine which tracking is necessary for a small private beta.Documented decision / task
- 088Define what each outside service receives and why.Documented decision / task
- 089Maintain a current processor and subprocessor inventory.Documented decision / task
- 090Separate product-usage analytics from marketing tracking.Documented decision / task
- 091Decide whether a consent banner is actually required for relevant jurisdictions and trackers.Documented decision / task
- 092Explain where data is processed and which user-directed providers receive it.Documented decision / task
- 093Define what is retained during a project and what is deleted afterward.Documented decision / task
- 094Specify backup retention and the limits of immediate deletion.Documented decision / task
- 095Design export and account-deletion request paths.Documented decision / task
- 096Document customer privacy contact and applicable request procedures.Documented decision / task
- 097Disclose model-provider training and retention behavior without guessing.Documented decision / task
- 098Avoid sending a customer's proprietary project to other customers' model contexts.Documented decision / task
- 099Decide which learning signals can be derived without retaining confidential raw content.Documented decision / task
- 100Version privacy policies when a new real provider or data flow goes live.Documented decision / task
- 101Correct privacy language when it described an older local setup instead of the cloud runtime.Encountered / reported
- 102Review provider-specific legal requirements before customer-facing integrations.Documented decision / task
- 103Audit the application against the privacy policy rather than trusting the draft.Documented decision / task
- 104Make sure public marketing claims don't imply nonexistent privacy certification.Documented decision / task
Wait. What are we building again?
Context window full. Starting fresh…
Secrets, permissions, and the things you really shouldn't paste
- 105Learn the difference between a successful login and sufficient project permissions.Encountered / reported
- 106Diagnose missing GitHub App permissions and account selection.Encountered / reported
- 107Encounter permission problems only after attempting a repository move.Encountered / reported
- 108Determine the minimum scopes required for each tool and operation.Documented decision / task
- 109Separate personal accounts, organizations, workspaces, projects, and repositories.Documented decision / task
- 110Handle OAuth authorization and callback redirect configuration.Documented decision / task
- 111Deal with different visible states for connected versus verified services.Encountered / reported
- 112Store tokens in appropriate secret management, not plain prompts.Documented decision / task
- 113Keep secrets out of worker context, browser JavaScript, and logs.Documented decision / task
- 114Avoid placing API keys in ordinary chat or Git commits.Documented decision / task
- 115Decide whether a provider key is for one project, one environment, or an entire organization.Documented decision / task
- 116Use separate development, staging, and production credentials where justified.Documented decision / task
- 117Confirm the account that owns each resource before making changes.Documented decision / task
- 118Test token expiry, revocation, reconnect, and refresh failures.Documented decision / task
- 119Verify least-privilege access after every expanded App permission request.Documented decision / task
- 120Control what third-party tools can see about a private project.Documented decision / task
- 121Document when consent is required before sharing source or strategy externally.Documented decision / task
- 122Avoid reusing a founder's personal browser profile in cloud tests.Documented decision / task
- 123Prove another founder cannot read the current founder's data.Documented decision / task
- 124Prove an agent cannot approve its own sensitive tool access.Documented decision / task
- 125Decide who can publish, delete, buy, transfer, or change production settings.Documented decision / task
- 126Test secret redaction at every known output and evidence boundary.Documented decision / task
- 127Retest privacy assumptions after changing the execution architecture.Encountered / reported
- 128Prepare an incident-response plan for leaks, bad permissions, or tenant crossover.Documented decision / task
Choose your AI. Then learn how it bills you.
- 129Start building heavily with Claude and evaluate Codex for independent tasks.Encountered / reported
- 130Compare coding-agent subscriptions with metered provider APIs.Encountered / reported
- 131Discover that an AI subscription is not the same as API usage.Encountered / reported
- 132Check which subscription-based integrations are actually authorized for commercial use.Documented decision / task
- 133Investigate why usage quotas suddenly disappear faster than expected.Encountered / reported
- 134Measure huge cache-read and cache-write token volumes, not just visible output.Encountered / reported
- 135Discover a long-lived Claude session had grown beyond 750K context tokens.Encountered / reported
- 136Discover the cost of multi-agent and helper loops multiplying context processing.Encountered / reported
- 137Determine which provider and model should handle each task type.Documented decision / task
- 138Reserve higher-cost inference for work where stronger reasoning helps.Documented decision / task
- 139Test whether cheap models are adequate for summaries, triage, or other bounded tasks.Documented decision / task
- 140Compare open-weight models without assuming cheap inference is free infrastructure.Documented decision / task
- 141Keep API billing, subscription allowances, and cloud-sandbox costs separate.Documented decision / task
- 142Prevent a fallback from silently switching a user to a different billing method.Documented decision / task
- 143Estimate costs before authorizing metered tasks.Documented decision / task
- 144Set monthly, daily, and per-run spend limits.Documented decision / task
- 145Check a provider's limits and actual reset windows before scheduling work.Documented decision / task
- 146Keep sufficient allowance for likely repairs and independent checks.Documented decision / task
- 147Track total cost per accepted task, not cost per agent response.Documented decision / task
- 148Decide when not to run a model at all because a script can do the job.Documented decision / task
- 149Move more execution to Codex and realize reduced Claude usage alone doesn't prove savings.Encountered / reported
Set up the actual development environment
- 150Work across local and hosted execution environments—and find out why those behave differently.Encountered / reported
- 151Determine what runs on the user's laptop versus the cloud.Documented decision / task
- 152Test local worker connectivity and native provider authentication.Encountered / reported
- 153Investigate Windows-specific command and tool failure behavior.Encountered / reported
- 154Determine whether Git, Python, Node, npm, Docker, or WSL is truly required.Documented decision / task
- 155Avoid requiring beginners to install an entire developer toolchain by default.Documented decision / task
- 156Develop a desktop helper and discover that signed installers, safe updates, and setup support are separate jobs.Encountered / reported
- 157Diagnose a working Helper update hidden behind the wrong UI control.Encountered / reported
- 158Encounter local Helper/desktop paths that distracted from cloud beta delivery.Encountered / reported
- 159Decide to park the desktop Helper for the initial cloud-only beta.Encountered / reported
- 160Prove a clean first-use environment without relying on the developer's machine.Documented decision / task
- 161Distinguish local model subscription access from provider-authorized hosted access.Documented decision / task
- 162Test file permissions and selected-folder access rather than trusting folder labels.Documented decision / task
- 163Determine which environment variables change the active billing route.Documented decision / task
- 164Document supportable OS/browser/platform combinations.Documented decision / task
- 165Use a clean VM or supported isolated environment for novice-install proof when needed.Documented decision / task
- 166Diagnose missing runtime dependencies without telling users to bypass OS protections.Documented decision / task
- 167Make installations and upgrades recoverable and reversible.Documented decision / task
- 168Build a genuine cloud path that does not require keeping the founder's laptop on.Documented decision / task
Wait. You thought that was the setup?
We haven't connected all the accounts.Connect all those services. In the right account.
- 169Set up and reconfigure GitHub Apps and authorizations.Encountered / reported
- 170Connect and troubleshoot Claude authentication and API-key alternatives.Encountered / reported
- 171Connect and test Notion workspaces and page access.Encountered / reported
- 172Find that an authorized Notion workspace didn't expose the desired project page.Encountered / reported
- 173Handle the difference between discovering a resource and actually being able to edit it.Encountered / reported
- 174Investigate Notion reconnect and add-page permission problems.Encountered / reported
Show the other 21 account-connection stepsEach one in the right account. Ideally.
- 175Connect or test Vercel authorization, project selection, and domain configuration.Encountered / reported
- 176Work through separate cloud-compute and application-hosting credentials without mixing their permissions.Encountered / reported
- 177Set up or investigate Railway application runtime configuration.Encountered / reported
- 178Encounter Railway build and service-start failures.Encountered / reported
- 179Use Neon and revisit compute limits and production-readiness assumptions.Encountered / reported
- 180Explore Supabase authorization and insufficient-scope errors.Encountered / reported
- 181Connect Resend for product mail and distinguish it from app-specific customer email.Encountered / reported
- 182Determine whether a connector is read-only, read/write, or able to provision resources.Documented decision / task
- 183Define Create, Configure, Bind, Verify, Operate, and Remove as different stages.Documented decision / task
- 184Verify exactly which GitHub repository a connector is permitted to touch.Documented decision / task
- 185Verify which Vercel team and project an account actually authorizes.Documented decision / task
- 186Verify which Notion parent page is shareable and writable.Documented decision / task
- 187Verify Supabase project identity, database authority, and row-level security constraints.Documented decision / task
- 188Decide whether OAuth, API, MCP, or guided manual setup best fits each provider.Documented decision / task
- 189Inspect callback URLs and redirect allowlists after domain changes.Documented decision / task
- 190Avoid asking users to create resources in the wrong organization.Documented decision / task
- 191Test disconnect, revoke, and reauthorize without losing project state.Documented decision / task
- 192Keep resource IDs bound to the correct project across reconnects.Documented decision / task
- 193Distinguish connected, provisioned, configured, bound, verified, and operable.Documented decision / task
- 194Revisit connector decisions that an agent had incorrectly reduced to read-only.Encountered / reported
- 195Avoid duplicating services already supplied by a founder's chosen builder.Documented decision / task
Get your product out of 14 chat windows
- 196Develop important product decisions in ChatGPT conversations.Encountered / reported
- 197Carry those decisions into Claude prompts for implementation.Encountered / reported
- 198Pass Claude's build findings back for independent analysis.Encountered / reported
- 199Paste review findings back into the build conversation.Encountered / reported
- 200Repeat the loop when a reviewer finds another issue.Encountered / reported
- 201Keep Notion pages to stop decisions disappearing into old chats.Encountered / reported
- 202Correct Notion pages when new decisions supersede older ones.Encountered / reported
- 203Review long handoff packets and rewrite instructions when they omit a constraint.Encountered / reported
- 204Ask one AI to search earlier conversations before handing work to another.Encountered / reported
- 205Discover that chat history doesn't equal reliable project memory.Encountered / reported
- 206Use structured context packets to avoid repeating the entire founder story.Encountered / reported
- 207Explain that a previously rejected architecture is still rejected.Encountered / reported
- 208Explain which current codebase and deployment an agent must inspect.Encountered / reported
- 209Tell a new agent not to trust a previous agent's completion claim.Encountered / reported
- 210Carry the correct release versions, task identities, review notes, and approvals across handoffs.Encountered / reported
- 211Mark facts as founder-stated, independently observed, inferred, or unknown.Documented decision / task
- 212Preserve source/date and confidence for consequential project decisions.Documented decision / task
- 213Separate historical raw conversations from authoritative current project state.Documented decision / task
- 214Select only task-relevant information for the next builder.Documented decision / task
- 215Check whether a memory entry became stale after actual code changed.Documented decision / task
- 216Design a fresh-session handoff that doesn't require the founder to write a novel.Documented decision / task
- 217Find that a long checkpoint page forced readers to wade through historical clutter.Encountered / reported
- 218Audit instruction files whose account of the project conflicts with the actual code.Encountered / reported
- 219Keep a record of every accepted founder correction so it isn't asked again.Documented decision / task
Build an actual Project Brain
- 220Document goals, scope, priorities, rejected options, and current dependencies.Encountered / reported
- 221Try maintaining durable project decisions in a dedicated project-memory system rather than hoping chat remembers everything.Encountered / reported
- 222Give those decisions a structured history so changes can be tracked and corrected.Encountered / reported
- 223Decide what the Project Brain is authoritative about—and what the code is authoritative about.Documented decision / task
- 224Distinguish active, superseded, disputed, archived, and unknown facts.Documented decision / task
- 225Preserve evidence for why a requirement changed.Documented decision / task
- 226Track source project identities across builders and GitHub migration.Documented decision / task
- 227Check that imported research isn't silently promoted into verified truth.Documented decision / task
- 228Correct a case where a founder's own statement had been treated as independently observed evidence.Encountered / reported
- 229Decide when a worker must ask for more context rather than invent an answer.Documented decision / task
- 230Test context continuity across browser refresh, chat threads, and model handoffs.Documented decision / task
- 231Verify that all unfinished obligations survive a new session.Documented decision / task
- 232Keep provider-specific implementation details out of universal founder memory.Documented decision / task
- 233Create small task-sized context packets instead of sending the full Project Brain.Documented decision / task
- 234Resolve contradictions before authorizing consequential execution.Documented decision / task
- 235Protect private project context from cross-workspace disclosure.Documented decision / task
- 236Retain history without forcing each new model to reread everything.Documented decision / task
- 237Give founders a readable view of what the system believes about their project.Documented decision / task
Build the system that learns whether any of this helped
- 238Try building a separate evidence system to learn whether AI-assisted work actually helped.Encountered / reported
- 239Reconstruct past execution events from code history, AI sessions, and review records.Encountered / reported
- 240Distinguish actual timestamps from reconstructed or uncertain ones.Encountered / reported
- 241Connect recommendations to later decisions and accepted outcomes.Documented decision / task
- 242Track which model, agent, role, and reviewer actually did the work.Documented decision / task
- 243Record retries, repair rounds, failed gates, and founder interventions.Documented decision / task
- 244Distinguish useful failures found from duplicated scanner noise.Documented decision / task
- 245Measure cost per founder-accepted task rather than passed run.Documented decision / task
- 246Record what was tested and what remained unverified.Documented decision / task
- 247Learn when an extra specialist improves the outcome versus wastes money.Documented decision / task
- 248Prevent one customer's proprietary code from becoming another customer's model context.Documented decision / task
- 249Document which model predictions were contradicted by actual runtime behavior.Documented decision / task
- 250Use outcome evidence to improve future decisions without letting an AI silently rewrite important policy.Documented decision / task
- 251Decide when a practice should be versioned, superseded, or retired.Documented decision / task
- 252Separate observed prevention from made-up estimates of hypothetical savings.Documented decision / task
- 253Build a truthful operator view of learning, cost, and quality.Documented decision / task
- 254Accept that a system can collect lots of events and still lack outcome linkage.Documented decision / task
Copy. Paste. Correct. Repeat.
Somewhere your last accepted decision is living in the wrong chat window.Hire yourself an AI team. Then become its manager.
- 255Decide when one Claude session is enough.Encountered / reported
- 256Experiment with Claude subagents and helper tasks.Encountered / reported
- 257Experiment with concurrent work and many-agent review sessions.Encountered / reported
- 258Find that more agents can generate more coordination and usage than useful progress.Encountered / reported
- 259Define bounded roles for planning, building, security, UX, and independent review.Documented decision / task
- 260Choose which roles genuinely need different models or providers.Documented decision / task
- 261Decide when parallel tasks are safe and when they share a dangerous file.Documented decision / task
- 262Assign a single implementation owner for a touched code area.Documented decision / task
- 263Create independent reviewer roles without letting them overwrite the builder's work.Documented decision / task
- 264Set agent permissions for source, filesystem, shell, network, and credentials.Documented decision / task
- 265Limit agent runtime, context, tool calls, retries, and spending.Documented decision / task
- 266Prevent agents from reviving abandoned tasks because they saw stale plans.Documented decision / task
- 267Prevent two agents from changing the same shared state without coordination.Documented decision / task
- 268Deal with agent passbacks that required additional prompts and clarification.Encountered / reported
- 269Retest a repair after a different agent's review contradicted the first one.Encountered / reported
- 270Record exact changes and evidence from every worker, not just a confident summary.Documented decision / task
- 271Retire temporary agents and clean their branches when work is complete.Documented decision / task
- 272Detect when repeated repairs mean the approach is wrong, not just the code.Documented decision / task
- 273Stop expensive browser and multi-agent loops when they became unproductive.Encountered / reported
- 274Define an inexpensive single-builder path for ordinary low-risk changes.Documented decision / task
- 275Keep founder attention focused on approvals, not agent staffing decisions.Documented decision / task
Manage the project management process too
- 276Build and repeatedly refine a project roadmap and milestone structure.Encountered / reported
- 277Create task lanes and independent review gates.Encountered / reported
- 278Reconcile duplicate and superseded checklists.Encountered / reported
- 279Discover that a huge master checklist can itself become a navigation problem.Encountered / reported
- 280Choose one active source for task ownership and status.Documented decision / task
- 281Distinguish planned, built, tested, reviewed, integrated, deployed, and accepted.Documented decision / task
- 282Assign dependencies and explicit blockers before starting parallel work.Documented decision / task
- 283Limit how many tasks can be actively built at once.Documented decision / task
- 284Keep a founder-visible short list of the actual next decisions.Documented decision / task
- 285Check whether a task still advances the accepted finish line.Documented decision / task
- 286Challenge feature creep when beta is close.Documented decision / task
- 287Park worthwhile ideas without letting them interrupt a release.Documented decision / task
- 288Decide when a failed attempt merits repair, rollback, or a new design.Documented decision / task
- 289Retain historical failures without resurfacing every one as a new task.Documented decision / task
- 290Ask which existing components already solve a requested problem.Documented decision / task
- 291Record why new vendors and infrastructure were rejected.Documented decision / task
- 292Find an internal tool that was built but never connected to the actual experience.Encountered / reported
- 293Keep acceptance criteria behavior-focused instead of just output-focused.Documented decision / task
Git is apparently a lifestyle now
- 294Create source repositories and choose ownership accounts.Encountered / reported
- 295Create branches for experiments, integrations, and fixes.Encountered / reported
- 296Create worktrees so parallel agents don't stomp on each other.Encountered / reported
- 297End up with hundreds of worktrees and branches needing inventory.Encountered / reported
- 298Discover a worktree folder name didn't match its active branch.Encountered / reported
- 299Find a default working folder hundreds of commits behind the live app.Encountered / reported
- 300Find a live copy reportedly hundreds of commits ahead of the remote backup.Encountered / reported
- 301Prove the exact deployed page and backend are tied to known source commits.Documented decision / task
- 302Create off-machine recovery copies before dangerous cleanup.Documented decision / task
- 303Inventory uncommitted, unmerged, and unpublished changes.Documented decision / task
- 304Identify which branches contain useful work versus superseded experiments.Documented decision / task
- 305Prevent an agent from building a feature on an old copy of the source code.Documented decision / task
- 306Handle file conflicts between simultaneous agents.Documented decision / task
- 307Choose safe merge/rebase policies for approved work.Documented decision / task
- 308Check whether a fix already exists on another branch.Documented decision / task
- 309Reconcile work copied across branches without pretending it merged cleanly.Documented decision / task
- 310Verify the diff instead of trusting the agent's commit description.Documented decision / task
- 311Test protected-baseline rules before promotion.Documented decision / task
- 312Require actual source ownership transfer, not an empty replacement repository.Documented decision / task
- 313Avoid deleting customer source during trial-repository cleanup.Documented decision / task
- 314Preserve commit history and relevant project evidence across a transfer.Documented decision / task
- 315Prove repo identity and branch state after an account migration.Documented decision / task
- 316Record which exact SHA each reviewer actually examined.Documented decision / task
- 317Clean stale worktrees only after approving the recovery plan.Documented decision / task
Design it. Decide it looks wrong. Repeat.
- 318Try to create the interface using verbal prompts alone.Encountered / reported
- 319Discover the design is functional but not good enough.Encountered / reported
- 320Revise layouts, navigation, information hierarchy, and copy multiple times.Encountered / reported
- 321Identify what the current product experience actually needs to communicate.Documented decision / task
- 322Review other apps' UX patterns rather than relying only on model imagination.Documented decision / task
- 323Experiment with Mobbin as an upstream reference tool.Encountered / reported
- 324Find that generic design searches produced weak results.Encountered / reported
- 325Learn to search for specific screens, interactions, states, and users.Documented decision / task
- 326Avoid copying a single competitor design even if it looks great.Documented decision / task
- 327Compare independent reference patterns before extracting a visual direction.Documented decision / task
- 328Check usage and retention rights for third-party visual materials.Documented decision / task
- 329Use the external source as inspiration, not a screenshot library to redistribute.Documented decision / task
- 330Generate original concepts and founder-visible preview options where warranted.Documented decision / task
- 331Obtain approval of a meaningful design direction before spending hours coding.Documented decision / task
- 332Record the accepted design direction so the next agent doesn't redesign it.Documented decision / task
- 333Review what actually rendered in the browser, not just what the code suggests.Documented decision / task
- 334Work through competing design-mode ideas and tool choices.Encountered / reported
- 335Reconcile screens that duplicated status or sent the user to the wrong place.Encountered / reported
- 336Test desktop and phone behavior independently.Documented decision / task
- 337Do not bury the essential action under impressive technical controls.Documented decision / task
- 338Check accessibility, copy, empty states, and responsive hierarchy.Documented decision / task
- 339Compare the final rendered experience against the accepted reference.Documented decision / task
Fresh agent. Fresh start. Unfortunately.
The assistant has resumed from the wrong place. Again.
Are you having fun yet?
You were promised a five-minute app.Make it usable by somebody who doesn't know what OAuth means
- 340Design multiple founder onboarding routes for existing projects and new ideas.Encountered / reported
- 341Watch a novice test expose missing founder facts.Encountered / reported
- 342See the user mention four interviews and still get told to conduct five.Encountered / reported
- 343Discover a screen reporting setup success while its main action remained unusable.Encountered / reported
- 344Find that a Chat Send button could be disabled after onboarding.Encountered / reported
- 345Find buttons and links that worked in mocks but not the real user journey.Encountered / reported
- 346Ask the founder's intended outcome before connecting ten tools.Documented decision / task
- 347Handle users who don't know GitHub, CLI, PATH, worktrees, or environment variables.Documented decision / task
- 348Explain billing choices without forcing an unfamiliar API setup.Documented decision / task
- 349Preserve all previously entered customer and product facts.Documented decision / task
- 350Avoid asking the founder to provide information already recorded.Documented decision / task
- 351Make the first useful recommendation understandable without technical jargon.Documented decision / task
- 352Show a clear recovery action if an external account is unavailable.Documented decision / task
- 353Place only meaningful approvals in the Needs You queue.Documented decision / task
- 354Provide contextual help tied to the real error, not generic documentation links.Documented decision / task
- 355Check that completion takes the founder somewhere useful.Documented decision / task
- 356Avoid repeatedly showing connected services as unverified in contradictory screens.Documented decision / task
- 357Prove the experience on the actual deployed site with a fresh account.Documented decision / task
- 358Ensure the product is usable on phone-sized screens where supported.Documented decision / task
Actually build the software
- 359Build a web frontend and a reliable backend that actually agree on the state of a project.Encountered / reported
- 360Keep project and workspace identities consistent across the different services involved.Encountered / reported
- 361Define source of truth for projects, members, resources, and tasks.Documented decision / task
- 362Choose when to use hosted databases versus local files.Documented decision / task
- 363Separate the founder chat interface from the coding worker's actual execution.Documented decision / task
- 364Turn chat intent into a bounded, approved work package.Documented decision / task
- 365Preserve source, task, and result identities through the whole workflow.Documented decision / task
- 366Treat provider requests and real actions differently from simulated demos.Documented decision / task
- 367Fix server errors surfaced only during realistic browser navigation.Encountered / reported
- 368Find a missing backend field caused a Home 500 while a cloud task existed.Encountered / reported
- 369Separate routine automated changes from actions requiring real owner authorization.Documented decision / task
- 370Make retried operations idempotent or safely recoverable.Documented decision / task
- 371Plan concurrency behavior when several workspaces run simultaneously.Documented decision / task
- 372Avoid accidental cross-project state writes.Documented decision / task
- 373Keep credentials separate from visible task packets.Documented decision / task
- 374Expose useful progress without leaking raw internal paths or secrets.Documented decision / task
- 375Return build outcomes to the same founder conversation that initiated them.Documented decision / task
- 376Keep architecture modules interoperable without creating duplicate task systems.Documented decision / task
- 377Distinguish implementation success from feature acceptance and deployment.Documented decision / task
Run the builders somewhere safe
- 378Evaluate Vercel Sandbox for isolated cloud work.Encountered / reported
- 379Wire and test a hosted runner instead of relying on a founder laptop.Encountered / reported
- 380Determine when a sandbox is needed and when a simple API call suffices.Documented decision / task
- 381Reserve compute cost before starting a metered execution.Documented decision / task
- 382Limit execution time, wall clock, process count, and egress.Documented decision / task
- 383Keep each task in an isolated workspace and source boundary.Documented decision / task
- 384Limit what a build task can access, especially sensitive accounts and credentials.Documented decision / task
- 385Check whether the necessary CLI/model provider can run in that environment.Documented decision / task
- 386Discover some promising desktop/QA tooling did not work in hosted cloud execution.Encountered / reported
- 387Try Midscene and conclude it wasn't usable in the present cloud setup.Encountered / reported
- 388Continue with plain Playwright instead of pretending Midscene was integrated.Encountered / reported
- 389Use a single authorized coding writer where shared files are involved.Documented decision / task
- 390Let parallel research or review happen without multiple workers overwriting the same source files.Documented decision / task
- 391Handle canceled builds and restore readable results after interruption.Documented decision / task
- 392Prevent two jobs from spending the final budget allocation simultaneously.Documented decision / task
- 393Stop idle sandboxes and reclaim temporary resources.Documented decision / task
- 394Record the exact model payer and infrastructure payer per run.Documented decision / task
- 395Make a failed sandbox report its true failure instead of fake success.Documented decision / task
- 396Prove that cloud workers do not depend on hidden local machine state.Documented decision / task
Show the founder an app without showing it to the internet
- 397Prototype private cloud previews before broad public deployment.Encountered / reported
- 398Learn that a Vercel account requirement can break the intended first-run experience.Encountered / reported
- 399Design a preview route that works without the founder owning a Vercel team account.Documented decision / task
- 400Bind the preview to the exact built source candidate.Documented decision / task
- 401Create short-lived, user-bound preview access.Documented decision / task
- 402Verify that private previews aren't exposed to the wrong viewer.Documented decision / task
- 403Prevent unauthenticated access to a private preview.Documented decision / task
- 404Review subdomain versus direct sandbox-host preview architectures.Documented decision / task
- 405Encounter Safari/WebKit iframe and separate-tab behavior differences.Encountered / reported
- 406Build an Open private preview fallback for blocked embedded frames.Encountered / reported
- 407Expire and revoke preview access reliably.Documented decision / task
- 408Check service-worker behavior doesn't preserve stale access.Documented decision / task
- 409Separate a preview from staging and live publication.Documented decision / task
- 410Show an honest error when a preview cannot be opened.Documented decision / task
- 411Handle preview stop, reopen, and idle-expiry behavior.Documented decision / task
- 412Track preview compute and hosting costs independently of AI token usage.Documented decision / task
- 413Test desktop and phone access where the claimed product supports it.Documented decision / task
- 414Prove the owner can access the preview through the real product UI.Documented decision / task
- 415Never claim a static screenshot proves a working app preview.Documented decision / task
Halfway there?
Nobody knows. The AI said it was 90% done three chapters ago.Build automated tests. Then test the tests.
- 416Write and run large Python test suites.Encountered / reported
- 417Write and run JavaScript/page suites.Encountered / reported
- 418Test core context contracts and data transitions.Encountered / reported
- 419Run focused browser navigation and interaction crawls.Encountered / reported
- 420Test a real button click rather than just its render function.Documented decision / task
- 421Discover many passing tests missed an obvious founder-facing failure.Encountered / reported
- 422Separate mock-provider pass evidence from live-provider acceptance.Documented decision / task
- 423Check that requirements are tested against the accepted founder intent.Documented decision / task
- 424Create negative tests that deliberately make a gate fail.Documented decision / task
- 425Find that a design-word budget was effectively hard-coded to PASS.Encountered / reported
- 426Ensure the test actually goes red for a bad screen.Documented decision / task
- 427Run relevant security, accessibility, and error-state checks.Documented decision / task
- 428Test that previously working behavior survives new changes.Documented decision / task
- 429Compare actual build output to the approved design and work package.Documented decision / task
- 430Track which test version, source SHA, and environment were checked.Documented decision / task
- 431Avoid full expensive QA for disposable exploration when focused checks suffice.Documented decision / task
- 432Escalate test depth for shared infrastructure and release candidates.Documented decision / task
- 433Check wrong-account, wrong-tenant, and revoked-access denial paths.Documented decision / task
- 434Test how the product behaves if its AI provider is unavailable.Documented decision / task
- 435Treat skipped tests as skipped, not passed.Documented decision / task
- 436Prevent a builder from declaring itself independently reviewed.Documented decision / task
- 437Use real-world user journeys instead of only line coverage.Documented decision / task
- 438Repeat reviews after fixes and discover new defects in a different path.Encountered / reported
- 439Stop endless repair when the same area fails repeatedly.Documented decision / task
Security isn't a button that says Secure
- 440Run independent security checks rather than relying entirely on builder self-review.Encountered / reported
- 441Evaluate Aikido after substantial earlier hardening work.Encountered / reported
- 442Find meaningful additional security issues in older or overlooked code.Encountered / reported
- 443Distinguish source findings from reachable production vulnerabilities.Documented decision / task
- 444Review dependency vulnerabilities against actual use and exposure.Documented decision / task
- 445Scan for secrets and accidental log disclosure.Documented decision / task
- 446Review static-analysis rules and their commercial licenses.Documented decision / task
- 447Review cross-tenant access and account authorization paths.Documented decision / task
- 448Verify production permissions, privileged routes, and release approval checks.Documented decision / task
- 449Check webhook signatures and replay protections where supported.Documented decision / task
- 450Recheck private-preview access, expiry and isolation before considering it safe.Documented decision / task
- 451Test permission boundaries for browser workers and connected tools.Documented decision / task
- 452Separate the risk a scanner asserts from the impact you’ve confirmed yourself.Documented decision / task
- 453Document confirmed defects, mitigations, false positives, and unknowns.Documented decision / task
- 454Re-run the relevant scanner after a bounded fix.Documented decision / task
- 455Avoid treating an Aikido green result as legal or security certification.Documented decision / task
- 456Decide when full DAST, pentesting, or human review is warranted.Documented decision / task
- 457Protect production databases and real users from unsafe active scans.Documented decision / task
- 458Record the exact source version scanned by each security tool.Documented decision / task
- 459Check security findings against user-visible privacy and trust promises.Documented decision / task
- 460Keep the baseline affordable rather than forcing every customer to buy premium pentesting.Documented decision / task
Now deploy it. Actually, not that version.
- 461Create release candidates with named source SHAs.Encountered / reported
- 462Prepare separate page, API runtime, and infrastructure releases.Encountered / reported
- 463Keep staging and review environments distinct from production when needed.Encountered / reported
- 464Encounter Railway deploy/start failures requiring investigation.Encountered / reported
- 465Investigate a Vercel domain misconfiguration.Encountered / reported
- 466Confirm correct DNS, environment bindings, and callback URLs.Documented decision / task
- 467Check every required environment variable before release.Documented decision / task
- 468Run Linux, Windows, frontend, and provider-specific gates as relevant.Documented decision / task
- 469Repair a release script that failed to stop on a bad final check.Encountered / reported
- 470Make a failed gate actually block the release unless explicitly governed.Documented decision / task
- 471Bind the release packet to exact repository and deployed runtime identities.Documented decision / task
- 472Keep one known-good rollback target and explicit recovery instructions.Documented decision / task
- 473Stop new releases while another material build or migration is active.Documented decision / task
- 474Retain a recoverable source and data backup before destructive changes.Documented decision / task
- 475Check actual deployment identity rather than trusting pipeline labels.Documented decision / task
- 476Run a real post-deployment smoke test on the published environment.Documented decision / task
- 477Verify browser auth, API Chat, source connectivity, and preview after the release.Documented decision / task
- 478Test rollback instructions rather than assuming they work.Documented decision / task
- 479Discover a page can appear normal while backend readiness is still incomplete.Encountered / reported
- 480Treat a green test suite and a green live release as different claims.Documented decision / task
- 481Write clear founder release notes about what actually changed.Documented decision / task
- 482Wait for explicit approval when the operation can affect customers.Documented decision / task
Operate the thing after the confetti falls
- 483Set up application and infrastructure health signals.Documented decision / task
- 484Review provider service failures and incomplete build status.Encountered / reported
- 485Track unexpected 500 errors and browser console failures.Documented decision / task
- 486Keep support diagnostics linked to the exact user task.Documented decision / task
- 487Set sensible retry and backoff policies for temporary outages.Documented decision / task
- 488Distinguish rate limits from revoked authorization and provider downtime.Documented decision / task
- 489Monitor compute quotas, storage allowance, and inactive cloud resources.Documented decision / task
- 490Discover hosted database compute allowances can be exhausted.Encountered / reported
- 491Plan restore windows and recovery expectations for hosted data.Documented decision / task
- 492Confirm secret rotation and credential expiry don't silently break customers.Documented decision / task
- 493Watch for orphaned workers and previews that keep costing money.Documented decision / task
- 494Document the owner and next action for a live incident.Documented decision / task
- 495Decide which failures require immediate founder notification.Documented decision / task
- 496Give the founder a useful error and recovery choice instead of a stack trace.Documented decision / task
- 497Support repair without accidentally overwriting accepted source.Documented decision / task
- 498Keep operational history so future agent sessions can diagnose repeated failures.Documented decision / task
- 499Check license and provider-term changes for material workflow impact.Documented decision / task
- 500Don't mistake an idle dashboard for a healthy working product.Documented decision / task
The tests passed.
The app was still broken. That was a real lesson.Do the math. Every time the model changes.
- 501Compare monthly subscriptions with API-equivalent token estimates.Encountered / reported
- 502Reconstruct spending when the visible Claude bill didn't explain compute consumption.Encountered / reported
- 503Compare actual Claude and Codex use rather than one tool in isolation.Encountered / reported
- 504Separate direct AI costs from your own coordination and hosting costs.Documented decision / task
- 505Estimate fixed infrastructure cost per active project.Documented decision / task
- 506Track costs of failed builds, review loops, and unused sandboxes.Documented decision / task
- 507Set quota and per-task budget ceilings before paid work begins.Documented decision / task
- 508Decide when a third-party service saves more than a custom implementation.Documented decision / task
- 509Evaluate whether a paid specialist adds unique, consequential findings.Documented decision / task
- 510Avoid claiming hypothetical counterfactual savings as historical fact.Documented decision / task
- 511Measure elapsed time and founder interventions per accepted milestone.Documented decision / task
- 512Evaluate lower-cost open models on held-out real tasks.Documented decision / task
- 513Recheck model price, rate limits, and terms before changing provider routing.Documented decision / task
- 514Protect a customer's ability to use their already-paid supported account route.Documented decision / task
- 515Explain what pays for Chat, Build, Review, and preview separately.Documented decision / task
- 516Test the economic assumptions at 10, 100, and 1,000 active projects.Documented decision / task
- 517Decide when an additional service or human review is optional rather than bundled.Documented decision / task
Own it. Actually own it.
- 518Decide that founders should bring and own their preferred AI providers.Encountered / reported
- 519Design a free first build that means holding a customer’s source code for a while.Encountered / reported
- 520Disclose temporary source custody before claiming that code is in the founder's account.Documented decision / task
- 521Verify GitHub App installation on the custody organization.Documented decision / task
- 522Encounter a transfer-permission failure in the actual source-claim path.Encountered / reported
- 523Check transfer authority before the founder attempts to claim code.Documented decision / task
- 524Verify destination account, organization, permissions, and repository visibility.Documented decision / task
- 525Confirm that full source history transferred to the new owner.Documented decision / task
- 526Make sure you don’t keep an unauthorized copy of a customer’s source code.Documented decision / task
- 527Delete trial copies of customer code according to the retention rules you disclosed.Documented decision / task
- 528Avoid deleting the customer's claimed repository during cleanup.Documented decision / task
- 529Preserve the user's ability to continue directly in Claude, Codex, or GitHub.Documented decision / task
- 530Make customer data and accepted project decisions exportable where supported.Documented decision / task
- 531Define what keeps running in the customer’s own accounts if they stop paying you.Documented decision / task
- 532Show who owns and pays for every new resource.Documented decision / task
- 533Prefer secure guided setup in the founder's account when it's simpler and cheaper.Documented decision / task
- 534Reserve consequential spending, transfer, delete, and publish decisions for the owner.Documented decision / task
- 535Confirm that leaving your product doesn’t mean rebuilding the whole project.Documented decision / task
Make the business real, not just the product
- 536Compare subscription pricing hypotheses for single and multiple projects.Encountered / reported
- 537Separate your own fee from the third-party AI and hosting costs customers pay directly.Documented decision / task
- 538Decide what a free or sponsored trial must actually prove.Documented decision / task
- 539Show where the paywall sits before founders invest major effort.Documented decision / task
- 540Avoid surprise token depletion, hidden credits, or bait-and-switch pricing.Documented decision / task
- 541Plan support costs and unit economics for a small founder-led company.Documented decision / task
- 542Research bootstrapping, angels, accelerators, and VC options.Encountered / reported
- 543Explore Nashville-area founder networks and design-partner introductions.Encountered / reported
- 544Discuss an investor one-pager and the evidence it would need.Encountered / reported
- 545Decide which funding would genuinely accelerate development.Documented decision / task
- 546Evaluate whether partner and model access matters more than headline valuation.Documented decision / task
- 547Preserve product adoption and retention evidence before claiming traction.Documented decision / task
- 548Separate a paid pilot, an invitation list, and active retained paying customers.Documented decision / task
- 549Decide whether and when human engineering/security review becomes a premium offering.Documented decision / task
- 550Keep company-readiness obligations proportionate to the founder's real goals.Documented decision / task
- 551Distinguish a profitable small business from a venture-scale startup when advising founders.Documented decision / task
Welcome to the founder's second full-time job.
It's mostly figuring out which bill you're actually paying.Now explain it to a person who hasn't lived your life
- 552Try a positioning that sounds impressive to you, and find that it sounds generic to everyone else.My real build: “orchestrator.”Encountered / reported
- 553Try positioning it as a founder operating system and find that people needed examples.Encountered / reported
- 554Build a one-pager for a potential design-partner introduction.Encountered / reported
- 555Explain what a founder gets that direct Claude use does not provide by default.Encountered / reported
- 556Receive the question, 'Why wouldn't I just use Claude myself?'Encountered / reported
- 557Develop a short product explanation for a first-time AI builder.Documented decision / task
- 558Develop a deeper explanation for someone already paying for Claude and Codex.Documented decision / task
- 559Show concrete responsibilities normally hidden behind a quick demo.Documented decision / task
- 560Create an evidence-backed founder story rather than fictional customer testimonials.Documented decision / task
- 561Decide how much technical complexity belongs behind an optional expandable layer.Documented decision / task
- 562Keep brand tone witty without belittling inexperienced founders.Documented decision / task
- 563Test whether the homepage actually communicates execution rather than advice only.Documented decision / task
- 564Run synthetic messaging checks and recognize they aren't real buyer evidence.Encountered / reported
- 565Verify every public feature claim against the live route actually supported.Documented decision / task
- 566Design an onboarding moment that demonstrates useful judgment before asking for payment.Documented decision / task
- 567Experiment with memorable campaign language instead of a wall of jargon.Documented decision / task
- 568Measure real comprehension, activation, and willingness to pay.Documented decision / task
Find real users. Not fictional personas.
- 569Seek design partners willing to test an unfinished product.Encountered / reported
- 570Explore Vanderbilt and other founder-community introductions.Encountered / reported
- 571Choose a small supervised beta cohort the infrastructure can safely support.Documented decision / task
- 572Ask whether the user has a prototype, an idea, or an internal operational problem.Documented decision / task
- 573Get permission before accessing customer repos and external accounts.Documented decision / task
- 574Explain known limitations before asking for trust.Documented decision / task
- 575Observe the first session without coaching the customer through every screen.Documented decision / task
- 576Record the first moment the founder gets genuine useful value.Documented decision / task
- 577Separate customer-observed friction from the builder's self-reported success.Documented decision / task
- 578Watch which instructions the customer needs to repeat.Documented decision / task
- 579Find whether initial recommendations match their actual goal and evidence.Documented decision / task
- 580Test whether a founder returns after seven and fourteen days.Documented decision / task
- 581Verify what users would pay for, and what they’d keep doing without your product.Documented decision / task
- 582Ask what was unnecessary rather than only what features they want added.Documented decision / task
- 583Track one credible real result before multiplying onboarding campaigns.Documented decision / task
Almost done.
Your AI has just reported that everything is fixed.Oh, and do all that again when the AI says 'fixed'
- 584Send Claude a task and review its confident completion report.Encountered / reported
- 585Open the actual app and find the interaction still wrong.Encountered / reported
- 586Write a correction that explains what the founder originally wanted.Encountered / reported
- 587Send the correction back to the builder.Encountered / reported
- 588Ask an independent model to review the new change.Encountered / reported
- 589Find a different error in the review.Encountered / reported
- 590Send that finding back to the builder.Encountered / reported
- 591Wait for the next fix.Encountered / reported
- 592Run the test suite again.Encountered / reported
- 593Find a test that was checking the wrong thing.Encountered / reported
- 594Rewrite the test so the obvious failure actually fails.Encountered / reported
- 595Re-run the suite after the new test.Encountered / reported
- 596Check that another screen didn't lose the original state.Encountered / reported
- 597Discover the reviewer inspected an old branch.Encountered / reported
- 598Explain which branch was actually deployed.Encountered / reported
- 599Move the review to the current source SHA.Encountered / reported
- 600Check whether another agent already fixed the same issue somewhere else.Encountered / reported
- 601Reconcile overlapping worktrees and conflicting file edits.Encountered / reported
- 602Retell the accepted decision to a new Claude session.Encountered / reported
- 603Copy the latest handoff back into Notion.Encountered / reported
- 604Correct an outdated Notion checkpoint that is still being read.Encountered / reported
604 / 604 STEPS COMPLETE.
Everything has been checked. Definitely finished. Nothing more to see here.
All checks passed. Confidence: extremely high. Project ready.
...Hold on. Why is there a step 605?
Oh. There are 96 more things. Apparently the AI checked its own homework and called the project finished before checking the actual result.
- 605Review an API-billing surprise or spent quota before continuing.Encountered / reported
- 606Reduce agent parallelism because the coordination became more expensive than the work.Encountered / reported
- 607Change the approach after one more repair fails the exact same way.Encountered / reported
- 608Checkpoint what really worked so the next model doesn't repeat the whole cycle.Documented decision / task
- 609Stop calling a task done because one agent wrote the word 'DONE'.Documented decision / task
We finished the list. Then found another list.
A deeper pass surfaced additional real episodes and more specific decision checks. Many expand a general item above. Research labels distinguish reported experience from documented work.
- 610Register a real praxeri.com business email workspace; the domain alone is not an inbox.Encountered / reported
- 611Configure the Google Workspace Admin Console, account aliases, and team email identities.Encountered / reported
- 612Set up two-step verification for the business email accounts and administrators.Encountered / reported
- 613Set recovery phone and backup email so losing one login does not strand the company.Encountered / reported
- 614Track the Google Workspace free-trial end date and the transition to actual billing.Encountered / reported
- 615Connect Resend separately from Workspace and distinguish platform email from customers’ app email.Encountered / reported
Show the other 50 steps we found after finishingWe did warn you.
- 616Send actual staging sign-in and password-setup messages and confirm they arrive.Encountered / reported
- 617Investigate the real praxeri.com domain misconfiguration reported by Vercel.Encountered / reported
- 618Recheck domain-dependent OAuth callback and redirect allowlists whenever the brand or hosting moves.Documented decision / task
- 619Find the old code name still hiding in internal assets and exported filenames.Encountered / reported
- 620Trace a Railway deployment failure to TLS certificate-authority verification.Encountered / reported
- 621Discover that fixing a cloud TLS problem requires investigating the running environment—not blaming the service.Encountered / reported
- 622Discover a cloud volume's file ownership can make saved application data seem to disappear.Encountered / reported
- 623Work through runtime user permissions and startup configuration to get the service running again.Encountered / reported
- 624Read a hosted proof carefully: application and Postgres UP does not mean the workers or full journey were proven.Encountered / reported
- 625Investigate repeated Railway build and startup failures in separate review and staging environments.Encountered / reported
- 626Discover that a database's free compute allowance can run out—and affect a product's availability.Encountered / reported
- 627Inspect Neon minimum compute, scale-to-zero, restore window, and production access settings rather than assuming a free database is production-ready.Encountered / reported
- 628Investigate the possibility of idle Upstash Redis state being archived after weeks without activity.Encountered / reported
- 629Decide whether an idle state provider needs activity, a different plan, replacement, or deliberate retirement.Documented decision / task
- 630Find that a seemingly ready cloud test is blocked by expired provider authorization.Encountered / reported
- 631Review GitHub App installation permission-expansion requests on the correct account or organization.Encountered / reported
- 632Perform a real staging repository ownership transfer rather than trusting a claim/transfer mock.Encountered / reported
- 633Correct a read-only Notion recommendation when the accepted connector must also create and edit approved content.Encountered / reported
- 634Connect to Notion and find the selected workspace exposes People and To Do List instead of the needed project page.Encountered / reported
- 635Discover an authorized Notion account still needs page-level sharing and expansion permissions.Encountered / reported
- 636Investigate an authentication outage after a deployment change.Encountered / reported
- 637Reconcile a recovery action against the exact release authorization instead of assuming a green fix grants a new approval.Encountered / reported
- 638Discover that a privileged source-control operation was running inside a less-trusted environment.Encountered / reported
- 639Separate privileged source-control actions from untrusted execution and verify the transfer safely.Encountered / reported
- 640Adversarially test whether source-control tooling or environment manipulation can cross the intended trust boundary.Encountered / reported
- 641Reproduce multiple cloud-spending and execution-lifecycle defects before authorizing paid work.Encountered / reported
- 642Verify that concurrent jobs cannot both spend the same remaining allowance.Encountered / reported
- 643Account for realistic worst-case model and infrastructure usage before authorizing a run.Encountered / reported
- 644Confirm cleanup and failed-run retries don't leave budget records stuck or inconsistent.Encountered / reported
- 645Reconcile the execution record against billed usage and actual work after a partial failure.Encountered / reported
- 646Repair task ordering when two work plans were created in the same second.Encountered / reported
- 647Compare actual PowerShell and Bash command failures in agent execution logs before choosing the default automation path.Encountered / reported
- 648Catch an out-of-date project summary being mistaken for approval of a newer release.Encountered / reported
- 649Find error details that make perfect sense to a developer and absolutely none to a founder.Encountered / reported
- 650Catch a user interface saying review is underway as if independent approval were complete.Encountered / reported
- 651Fix an approve/decline action that targeted the wrong piece of work.Encountered / reported
- 652Make the existing Helper update visible when the real control was hidden in a collapsed device panel.Encountered / reported
- 653Recheck reviewers and test workers against the exact current repository checkout rather than a convenient old branch.Encountered / reported
- 654Resolve the same provider being marked Connected on one screen and Optional or unverified on another.Encountered / reported
- 655Find useful completed specialist work that still lives in an isolated branch and never reached the release candidate.Encountered / reported
- 656Discover a checkpoint document grew so long that every new agent wasted time rereading obsolete history.Encountered / reported
- 657Realize the largest AI usage spike came from helper and browser loops, not just direct founder prompts.Encountered / reported
- 658Clarify whether a design-reference provider's commercial plan and content rights support your intended usage.Documented decision / task
- 659Check whether a provider permits your product's chosen authentication and billing arrangement.Documented decision / task
- 660Match a third-party security finding to the actual reviewed source version before claiming it was addressed.Documented decision / task
- 661Plan secure credential rotation and minimal incident records if a secret appears where it shouldn't.Documented decision / task
- 662Verify an owner-authorized exception isn't confused with an AI worker silently bypassing a release check.Documented decision / task
- 663Retest Safari/WebKit preview isolation and fallback even after Chromium and Firefox pass.Encountered / reported
- 664Separate a design concept from a private working preview, and both from staging and live environments.Documented decision / task
- 665Show that a scripted provider journey passing does not certify a working real-user hosted build.Encountered / reported
And somewhere in another window, you built three more products.
Documented lessons from Eruvi, Stocks, Collectibles, and Core Intelligence. Not a universal requirement to operate four products.
- 666Run a separate career-intelligence product alongside the AI-development platform.Encountered / reported
- 667Decide whether that product is a one-time advice tool or an ongoing relationship with the user.Documented decision / task
- 668Distinguish what a person said, what they demonstrated, what external evidence showed, and what an AI inferred.Documented decision / task
- 669Keep several plausible career routes alive rather than forcing one impressive-sounding answer.Documented decision / task
- 670Check career-market data source, release vintage, permissions, and staleness before making a recommendation.Documented decision / task
- 671Separate a job's advertised pay from whether the person can realistically access that opportunity.Documented decision / task
Show the other 29 lessons from the other productsDifferent products. Same mistakes.
- 672Test whether a new user reaches real value without a tutorial or an enormous questionnaire.Documented decision / task
- 673Build a career-intelligence journey while making sure older experiments don't quietly override current decisions.Encountered / reported
- 674Track what happens after a real-world experiment instead of scoring a career path from AI confidence alone.Documented decision / task
- 675Don't change a person's settled goals just because one conversation was emotional or unusually recent.Documented decision / task
- 676Run a separate trading-intelligence system with its own data providers, models, decisions, and operational controls.Encountered / reported
- 677Deduplicate feeds, sessions, and event identifiers before declaring a market-data snapshot current.Documented decision / task
- 678Preserve what the trading model actually knew at each decision time, not facts learned after the stock moved.Documented decision / task
- 679Compare a market-decision model against a realistic unchanged baseline, not just its most flattering chart.Documented decision / task
- 680Preserve a legitimate CASH / no-trade decision rather than forcing the AI to recommend activity.Documented decision / task
- 681Separate model research and live model settings; don't silently retune production from a tiny sample.Documented decision / task
- 682Reconcile an operations dashboard that said ready with the actual session, source freshness, and live-delivery state.Encountered / reported
- 683Prove the morning job actually ran, with correct time zones, status, delivered output, and restart behavior.Documented decision / task
- 684Keep brokerage/trading authority separate from a system designed to make recommendations.Documented decision / task
- 685Build an entirely different collectibles underwriting and valuation project in parallel.Encountered / reported
- 686Decide which graded assets have sufficient comparable-sale evidence to estimate a credible value.Documented decision / task
- 687Decide which external data is worth paying for and collect only what the current evaluation needs.Documented decision / task
- 688Preserve point-in-time provenance so later sales don't sneak into an earlier valuation.Documented decision / task
- 689Run repeatable sales-evidence collection and verify retries don't duplicate historical observations.Encountered / reported
- 690Separate asset valuation confidence from the risk and lending policies of a particular lender.Documented decision / task
- 691Check whether an attractive valuation tool actually addresses monitoring and decision risk for its intended users.Documented decision / task
- 692Decide whether a lender portal is genuinely usable rather than calling the underlying math a complete product.Documented decision / task
- 693Avoid becoming a balance-sheet lender simply because you can build lending software.Documented decision / task
- 694Build a cross-project evidence tracker while other products keep evolving.Encountered / reported
- 695Reconstruct tens of thousands of old project and AI-development events into a usable history.Encountered / reported
- 696Classify timestamp confidence so reconstructed events don't masquerade as exact historical truth.Documented decision / task
- 697Build connectors for different historical evidence sources, then verify what was actually captured.Documented decision / task
- 698Compare AI claims with changes, accepted results, and real spending rather than treating confidence as proof.Documented decision / task
- 699Keep one project's private data out of another project's learning context while still reusing safe general lessons.Documented decision / task
- 700Decide which lessons really deserve becoming reusable practices—and require evidence first.Documented decision / task
A real snapshot from the build behind this guide
A documented two-week snapshot from the founder's own build—not a measurement of wasted work. And no, this is not a suggested workflow.
- 701Turn this entire build journey into a perfectly serious-looking step-by-step guide to building complex software with AI. Give it an ordinary title and a professional-looking link preview. Share it without explaining the joke. Let people discover it themselves.Documented decision / task
The guide is real. The joke is what I went through to write it.
You can actually use this checklist. Not every item applies to every product, and some are mistakes to avoid rather than steps to repeat.
You tired of reading this?
Imagine doing it.
I did a lot of it, as a non-developer, mostly by copying and pasting between AI chats. Nobody should have to become their own architect, AI-team manager, QA department and privacy officer just to make something useful.
That’s why I’m building Praxeri. It works with Claude, the AI that writes your code, and runs the project around it. It helps you decide which of these steps your project needs, and which to skip for now. It remembers your decisions, so a new chat doesn’t start from zero. It builds each change in a private preview you check first. And when the AI says “fixed,” it shows you what was actually tested.
Your code goes to your own GitHub, and builds run on your own Claude plan or Anthropic key. Praxeri charges one flat fee, not credits. The free first build is the exception: we hold that code until you connect your GitHub.
Can it do everything on this list yet? Not quite. It’s in closed beta: some parts work, some are being tested, and plenty are still on the roadmap. Claiming every box is checked would be an embarrassing way to end this list.
You’re on the list.
We’ll email you at from support@praxeri.com when a spot opens.
Stuck on something in the meantime? Ask Praxeri ↓
Want to look around first? See what Praxeri does →
Stuck building something? Ask Praxeri.
“I’m not a developer. I’ve just spent an unreasonable amount of time building with AI, breaking things, fixing them, and figuring out what actually works. Ask me what you’re stuck on. I’ll share what I’ve learned—and when I haven’t tried something, I’ll tell you that too.”
Got it.
I’ll reply to from support@praxeri.com. Follow-up questions can go in that same email thread.
What did we miss?
You’ve probably got a step that isn’t on this list. A bug your AI swore it fixed. An afternoon lost to one permission checkbox. Tell us in the comments on the LinkedIn post you came from, or share the guide with your own story.
Rather not post it publicly? Suggest a step here.
Thanks. Noted.
If it makes the list, it’ll show up in a future version.
Questions, credit and house rules
Have questions? Use Ask Praxeri above, or the LinkedIn comments. I’ll answer what I can. I’m not a software developer or an AI expert. When I don’t know something, I’ll say so, and where AI helps draft an answer, I’ll label it. Other builders are welcome to correct me.
Beginner questions are welcome. So are friendly sarcasm, strong language and honest criticism, including of Praxeri. Hate, threats, stalking, doxxing, harassment, spam and publishing anyone’s secrets are not.
Your ideas are yours. Don’t post confidential plans, customer details, passwords or unreleased vulnerabilities. We may learn from general, non-identifying patterns in what builders find hard. We won’t republish your story or a specific idea as our own without your permission.
Want credit if we add your step? Tell us the name or handle to use, or say anonymous. We review additions before including them, and we won’t build every suggestion.
Build the fun stuff. Skip the circus. You keep the keys.
Curious where these steps came from? The note below separates real experiences, researched practices and work that is still planned.