Build a small app with ChatGPT: scope, persistence, and recovery
Build a practice notes app with five observable acceptance criteria. Check browser storage, deletion, empty input, and recovery before sharing it.
2 min read

Start with a small notes app without login or payments so you can check completion yourself. Describing an idea to AI does not guarantee a working application. Separate specification, storage, verification, and publication.
Define completion through five operations
This is an exercise specification, not a report of a deployed service:
- Enter and save a note.
- Open a saved note from a list.
- Keep notes after reloading.
- Delete one note without deleting another.
- Reject an empty note with an explanation.
The first version stores data in one browser. It does not synchronize devices, support multiple users, or provide backups. Explain that clearing site data can remove browser-stored notes.
State the storage and task boundaries
Ask: “Build a practice notes app with HTML, CSS, and JavaScript. Store notes in this browser and satisfy the five conditions. Do not add external requests, login, or payments. Include the file structure, launch instructions, and verification steps.”
Use a code-generation feature and execution environment available to you; a particular paid plan is not a requirement of this exercise. For editing an existing folder, check the official Codex IDE guide for setup and sign-in options.
Test successful and unsuccessful operations
Use two illustrative notes, “Shopping” and “Reading.” Reload and verify both remain. Delete Shopping and check Reading still exists. Then try empty input, Japanese text, line breaks, and a long note.
Report a failure with the action, expectation, actual result, and first error. For example: “After saving two notes and reloading, only one remains; both should remain. The first console error is…” Remove secrets from logs.
Recover from an unsuccessful change
Copy the files before editing or commit a working version in Git. Read the diff afterward and check that unrelated features and settings have not changed. Do not overwrite unrelated work or delete files indiscriminately.
Fix one failure, then repeat all five checks. An AI statement that a bug is fixed is different from observing that the failure no longer occurs.
Explain the limits before sharing
Before inviting other people, document storage, data-loss conditions, supported browsers, and a contact route. Run the same checks on the public URL. Verify hosting terms before subscribing; do not assume a free tier permits every commercial use.
Treat authentication, access control, and backups as separate design work when you add shared data. The goal of this exercise is to verify a small working application at each step.
Primary sources checked
Important claims should also link to the relevant source in the article body.
- official Codex IDE guidedevelopers.openai.com · official-documentation · Checked: 2026-09-05