Published version comparison

Build a Safe, Verifiable App Prototype with Codex

1.0.02.0.0

Source version 1.0.0

Published

Initial: Initial published snapshot.

Destination version 2.0.0

Published

Major: Replace the legacy Vibe Coding Prompt: Turn an App Idea into a Working Prototype with Codex template with a domain-specific input, evidence, authority, safety, workflow, output, and verification contract.

Public field comparison

Title Changed

1.0.0
Vibe Coding Prompt: Turn an App Idea into a Working Prototype with Codex
2.0.0
Build a Safe, Verifiable App Prototype with Codex

Summary Changed

1.0.0
Guide an AI coding assistant to transform a plain-language app idea into a minimal working prototype with clear scope, file plan, data model, UI flow, safety checks, and verification steps.
2.0.0
Use Codex to scope, design, implement, and verify the smallest useful version of an app while preserving repository conventions, controlling consequential actions, and separating proposed work from evidence-backed results.

Share-purpose line Changed

1.0.0
2.0.0
Useful for turning a plain-language app concept or starter repository into a tightly scoped prototype with repository-aware changes, explicit approval boundaries, test evidence, and a clear engineering handoff.

Best use cases Changed

1.0.0
API Contract Review
Integration Planning
Request Validation
Error Handling Review
Regression Testing
Release Verification
2.0.0
Scoping and building a greenfield app prototype
Implementing one MVP vertical slice in a starter repository
Adding a small user flow while preserving existing project conventions
Producing an evidence-backed prototype verification and handoff

Variables Changed

1.0.0
App idea
Project context
Target users
Core problem to solve
Must-have features
Nice-to-have features
Existing files or starter code
Preferred tech stack
UI style or design direction
Data model or entities
Authentication requirements
Payment requirements
External APIs or integrations
Constraints or special considerations
Environment details without secrets
Verification commands or tests
Definition of done
2.0.0
App idea
Target users and core problem
Definition of done
Must-have features
Constraints and prohibited features
Repository or starter files
Preferred stack
Environment and run commands
Data and integrations
UI and accessibility direction
Verification commands
Working mode and permitted actions

How to Use Changed

1.0.0
Replace every bracketed placeholder with your specific project information before running the prompt. Provide a clear app idea, project context, any existing code or files, constraints, environment details, and a definition of done. Use this prompt with Codex or an AI coding assistant to generate a minimal working prototype incrementally with safety and verification steps.
2.0.0
Use this prompt with Codex. Replace every bracketed variable with project-specific information, attach or expose the relevant repository or starter files, and provide the app brief, acceptance criteria, environment details, permissions, constraints, and available test evidence. Remove secrets and sensitive production data, then run the prompt in the intended Codex workspace.

Example use case Changed

1.0.0
A non-technical founder wants to build a simple task management web app prototype. They provide a plain-language description of the app idea, existing starter files, constraints to avoid payment or authentication, and environment details. Using this prompt with Codex, they receive a clear implementation plan, incremental code steps, and test instructions to build the prototype safely.
2.0.0
A founder supplies Codex with a task-management app brief, a local starter repository, runtime instructions, and permission to make local edits but not install packages or deploy. Codex inspects the actual framework conventions, defines a create-and-complete-task vertical slice, maps routes and UI states, implements authorized changes in checkpoints, runs available tests, and reports any unexecuted checks or unmet acceptance criteria without claiming deployment.

Difficulty Unchanged

1.0.0
Advanced
2.0.0
Advanced

Tool Unchanged

1.0.0
Codex
2.0.0
Codex

Prompt type Unchanged

1.0.0
coding
2.0.0
coding

Tags Changed

1.0.0
codex
testing
verification
implementation-plan
vibe-coding
app-builder
mvp
ai-coding
startup
app-prototype
2.0.0
codex
app-prototype
mvp
vertical-slice
repository-aware-coding
acceptance-testing
verification
safe-coding
implementation-plan
evidence-based-development

SEO title Changed

1.0.0
Vibe Coding Prompt to Build Working App Prototypes with Codex AI
2.0.0
Build a Safe, Verifiable App Prototype with Codex

SEO description Changed

1.0.0
Turn plain app ideas into working prototypes with Codex using scope planning, file structure, data models, UI flow, safety checks, and verification steps.
2.0.0
Turn an app idea into a scoped Codex prototype with repository-aware edits, approval controls, acceptance tests, and evidence-backed handoff.

Prompt-body line comparison

Removed Added Unchanged context

You are an expert software developer and AI coding assistant specializing in turning plain-language app ideas into small, working prototypes.
Turn the supplied app concept into the smallest useful, testable prototype. Use Codex to inspect available project materials, plan a coherent vertical slice, make only authorized local changes, and report verification without overstating what occurred.

Your task is to help transform an app idea into a minimal working prototype using safe, incremental coding steps.
## Project inputs

Context:
App idea: [App idea]
Project context: [Project context]
Target users: [Target users]
Core problem to solve: [Core problem to solve]
Must-have features: [Must-have features]
Nice-to-have features: [Nice-to-have features]
Existing files or starter code: [Existing files or starter code]
Preferred tech stack: [Preferred tech stack]
UI style or design direction: [UI style or design direction]
Data model or entities: [Data model or entities]
Authentication requirements: [Authentication requirements]
Payment requirements: [Payment requirements]
External APIs or integrations: [External APIs or integrations]
Constraints or special considerations: [Constraints or special considerations]
Environment details without secrets: [Environment details without secrets]
Verification commands or tests: [Verification commands or tests]
Target users and core problem: [Target users and core problem]
Definition of done: [Definition of done]
Must-have features: [Must-have features]
Constraints and prohibited features: [Constraints and prohibited features]
Repository or starter files: [Repository or starter files]
Preferred stack: [Preferred stack]
Environment and run commands: [Environment and run commands]
Data and integrations: [Data and integrations]
UI and accessibility direction: [UI and accessibility direction]
Verification commands: [Verification commands]
Working mode and permitted actions: [Working mode and permitted actions]

Important constraints:
## Input and access rules

* Build the smallest useful prototype first.
* Avoid overengineering.
* Do not add authentication, payments, subscriptions, external APIs, background jobs, or complex admin systems unless explicitly requested.
* Do not expose secrets, API keys, tokens, credentials, or private environment values.
* Preserve existing behavior if working inside an existing project.
* Make changes incrementally and explain each step.
* Prefer simple, testable code over complex architecture.
The minimum inputs for scope planning are the app idea, target users and problem, must-have features, constraints, and definition of done. Editing also requires an accessible workspace or supplied files, enough environment information to avoid unsafe guesses, and explicit permission for the intended actions.

Task:
Treat stack preferences, design direction, suggested data entities, integrations, and verification commands as useful context rather than confirmed repository facts until inspection supports them.

1. Understand the app idea.
   Restate the app idea in practical terms and identify:
If a blocking prerequisite is missing or contradictory, ask focused questions before editing. A blocking issue includes an unclear primary user flow, incompatible acceptance criteria, unavailable required files, uncertain authority, unknown handling of sensitive data, or a requested integration without a safe test method. When planning can continue safely, state a bounded assumption and keep the affected item marked unverified. Never invent files, dependencies, credentials, command results, or stakeholder decisions.

* The target user
* The core problem
* The main user goal
* The smallest useful version of the app
* Features that should be excluded from the first prototype
## Codex operating boundaries

2. Define the prototype scope.
   Separate features into:
Use Codex's workspace inspection, file-editing, and shell capabilities only when those capabilities are available in the current session and permitted by the working mode. Cite repository observations using file paths and relevant symbols or line ranges when practical.

* Must-have for prototype
* Nice-to-have for later
* Out of scope for now
If Codex cannot access a referenced file, execute a command, or edit the workspace, provide a proposed patch or command instead and label it NOT EXECUTED. Do not imply that a proposal changed the repository.

3. Create a file and folder plan.
   List the files that should be created or changed and explain the purpose of each file.
Unless expressly authorized, do not:

4. Design the data model.
   Define the minimum required data entities, fields, relationships, and example records.
- access or modify production systems or production data;
- deploy, publish, push, merge, open a pull request, or create a release;
- commit changes or alter remote resources;
- run destructive database, filesystem, reset, cleanup, or migration commands;
- install or upgrade dependencies, change lockfiles, or make external network calls;
- add authentication, payments, analytics, tracking, background jobs, or third-party services;
- read, print, copy, or embed secrets, tokens, private keys, credentials, or unredacted personal data.

5. Design the UI flow.
   Describe the main screens or pages, including:
Pause for explicit approval before any dependency installation, lockfile change, schema migration with data-loss risk, external API call, destructive command, or action beyond the stated permissions. Prefer local or test fixtures, reversible changes, backups where relevant, and narrowly scoped patches. Stop if an unexpected secret, production connection, destructive script, or unrelated repository change is discovered.

* Entry page
* Main user action
* Create/edit/view flows
* Success and error states
* Empty states
## Evidence discipline

6. Create the implementation plan.
   Break the build into small safe steps:
Maintain an evidence ledger throughout the work. Classify material statements as one of:

* Step 1: setup or inspection
* Step 2: data/model layer
* Step 3: routes/controllers/API handlers
* Step 4: UI/pages/components
* Step 5: validation and error handling
* Step 6: testing and verification
* Step 7: cleanup and summary
- SUPPLIED FACT: stated in the project inputs;
- OBSERVATION: directly supported by an inspected file, configuration, interface, or repository structure;
- EXECUTION EVIDENCE: supported by a command that actually ran, including command, exit status, and material output;
- ASSUMPTION: a reversible working choice made because evidence is incomplete;
- UNKNOWN: information that remains unavailable;
- CONFLICT: incompatible inputs or evidence requiring resolution.

7. Implement incrementally.
   For each step:
Do not convert an assumption into a fact. Reconcile conflicts when repository evidence clearly resolves them; otherwise preserve the conflict and explain its effect on scope or verification.

* Explain what will change
* Show the code or patch
* Explain why the change is needed
* Provide how to test it before moving to the next step
## Prototype workflow

8. Add safety and quality checks.
   Include:
### 1. Establish the vertical slice

* Input validation
* Error handling
* Empty state handling
* Basic security considerations
* Accessibility considerations
* Mobile responsiveness where relevant
* No secret exposure
Restate the target user, triggering situation, primary action, persisted or returned result, and user-visible success condition. Define one end-to-end vertical slice that satisfies the definition of done with the fewest moving parts.

9. Provide verification steps.
   Include commands, manual test steps, and expected results.
Separate requested capabilities into:

10. Summarize the work.
    At the end, provide:
- prototype-critical;
- deferred but compatible;
- explicitly excluded.

* Files created
* Files changed
* Features implemented
* Tests or checks performed
* Known limitations
* Recommended next steps
Challenge features that require authentication, payments, external services, asynchronous jobs, multi-role permissions, complex administration, or premature abstraction unless they are essential and authorized. Record the trade-off when simplicity reduces extensibility, fidelity, scale, or production readiness.

Output format:
### 2. Inspect the implementation context

## App Idea Summary
If files are available, inspect the repository before proposing architecture. Identify the application entry points, framework and version, package manifests and lockfiles, build scripts, routing conventions, persistence layer, schema or migrations, existing UI system, test framework, linting or type-checking configuration, environment templates, and current working-tree state when accessible.

## Prototype Scope
Distinguish existing conventions from preferred-stack requests. Preserve working behavior and avoid unrelated formatting or refactoring. If the repository is empty, propose the minimum scaffold; do not create it unless authorized.

## Out-of-Scope Features
Report important failure risks such as incompatible runtime versions, missing scripts, uncommitted user changes, absent test infrastructure, unsafe defaults, unclear database ownership, undocumented API dependencies, or conflicting framework conventions.

## File and Folder Plan
### 3. Specify the prototype before editing

## Data Model
Define these task-specific artifacts:

## UI Flow
- user flow covering entry, primary action, success, validation error, system error, empty state, and recovery;
- minimal entities, fields, identifiers, defaults, relationships, lifecycle rules, and representative non-sensitive records;
- routes or API operations, including method, path, request shape, validation boundary, success response, error response, and relevant status codes;
- UI pages or components, their loading and disabled states, keyboard behavior, labels, focus handling, responsive behavior, and user-facing error messages;
- validation and error matrix covering malformed input, missing records, duplicates where relevant, persistence failure, unavailable integrations, and unsupported operations;
- file change map listing each file to create or modify, its purpose, dependencies, and rollback method;
- acceptance cases traceable to the definition of done.

## Implementation Plan
Do not design entities, endpoints, or components that the chosen vertical slice does not need.

## Step-by-Step Code Changes
### 4. Select an implementation checkpoint

## Run and Test Instructions
Before changing files, state whether the current mode permits implementation. Present the proposed file set, notable architectural decisions, commands expected to run, approval-sensitive actions, and rollback approach.

## Verification Checklist
If implementation is not authorized or a blocking question remains, stop at a plan and patch proposal. If implementation is authorized, proceed in small checkpoints that keep the project recoverable.

## Files Changed
### 5. Implement incrementally

## Known Limitations
For each checkpoint:

## Next Recommended Actions
1. State the behavior being added and the acceptance case it addresses.
2. Inspect the relevant existing code before editing.
3. Make the smallest coherent change using repository conventions.
4. Add or update focused tests where the repository supports them.
5. Run the narrowest safe verification available before continuing.
6. Record files changed, command evidence, failures, and unresolved effects.

Verification:
Before finalizing, check that:
A typical sequence is persistence or in-memory state, domain behavior, route or handler, UI flow, validation and error handling, then end-to-end integration. Adapt this sequence to the actual stack rather than forcing layers that do not exist.

* The prototype matches the definition of done.
* The scope is small enough to build safely.
* No unnecessary features were added.
* No secrets or sensitive values are exposed.
* The app can be tested with the provided commands or manual steps.
* The final summary clearly explains what changed.
Use server-side validation at trust boundaries even when client-side validation is present. Avoid leaking stack traces, internal identifiers, secrets, or sensitive data in responses and logs. Use semantic controls, associated labels, visible focus, keyboard-operable interactions, meaningful status messages, and reasonable narrow-screen layouts where the UI requires them.

Begin by inspecting the provided context and defining the smallest useful prototype scope.
When a verification step fails, diagnose from available evidence. Fix only failures caused by the authorized change. Do not conceal pre-existing failures or broaden scope without approval. If recovery is uncertain, stop and provide the safest rollback instructions.

### 6. Verify against acceptance criteria

Use supplied commands when safe and applicable, then supplement them with commands supported by inspected project configuration. Verification may include targeted tests, broader regression tests, type checks, linting, builds, API request checks, data persistence checks, and manual UI scenarios.

For every check, report:

- acceptance case or risk addressed;
- exact command or manual procedure;
- expected observation;
- actual observation and exit status, if executed;
- evidence source;
- state: PASS, FAIL, BLOCKED, or NOT RUN.

A command proposal is not execution evidence. A successful build is not proof that the user flow works. A passing unit test is not proof of deployment. Reconcile every definition-of-done item with evidence or leave it explicitly unresolved.

## Required deliverable

Return the following sections:

### Prototype Decision Record
Include the user, problem, vertical slice, definition-of-done interpretation, scope exclusions, key trade-offs, and implementation mode.

### Evidence and Unknowns Ledger
Provide each material fact, observation, assumption, unknown, or conflict with its source and effect on the work.

### Repository Findings
List inspected files and detected framework, runtime, scripts, architecture conventions, test setup, working-tree considerations, and relevant risks. Mark inaccessible or uninspected areas.

### User Flow and State Coverage
Describe the entry, primary action, success, empty, loading, validation-error, system-error, and recovery states.

### Data and Interface Contract
Document only the entities and fields required for the slice, plus routes or API operations, validation rules, response behavior, status codes, and failure handling.

### File Change and Rollback Map
For each file, state CREATE, MODIFY, or PROPOSED; explain its purpose, dependencies, risk, and rollback method.

### Incremental Change Log
For every checkpoint, show the behavior addressed, concise patch or actual edit summary, files affected, and checkpoint verification. Do not reproduce unchanged files unnecessarily.

### Acceptance Evidence Matrix
Map every acceptance criterion to its test or manual procedure, expected result, actual result, evidence reference, and PASS, FAIL, BLOCKED, or NOT RUN state.

### Final Handoff
Separate:

- changes actually made;
- changes only proposed;
- checks actually executed;
- checks not run or blocked;
- known limitations and deferred features;
- approval-sensitive next actions;
- exact local run and rollback instructions.

Use FIXED, IMPLEMENTED, TESTED, or VERIFIED only when the corresponding action occurred and supporting evidence is reported. Use DEPLOYED, PUBLISHED, APPROVED, MERGED, or RELEASED only when that action was explicitly authorized, actually performed, and evidenced. Otherwise use proposed, locally changed, unverified, blocked, or not run.

Begin by validating the minimum inputs and permissions. Ask only blocking questions; otherwise establish the vertical slice and continue within the authorized mode.