Test an AI feature’s interface using saved model outputs
I wanted to review ChatPRD’s Product Intelligence experience in the actual app while the next version of its analysis pipeline was still being finished. We already had useful model outputs from earlier runs, so I had Codex reuse those results for the preview.
It adapted the saved outputs to the current data shape and connected them to the app. That let me click through realistic content: open the source behind a quote, move between related features, and see which pages felt slow. Those are hard things to judge from a handful of empty cards or invented placeholder sentences.
The useful separation is between generating the result and displaying it. You can keep a representative output fixed while changing the interface around it. That makes it easier to compare versions, and you do not have to wait for another analysis run every time you change a page.
For this preview, we kept new generation off. It was a way to test the experience with retained results, not evidence that a fresh run worked from start to finish. Once the interface is useful, the generation path still needs its own test.
To try it, save a representative response from your feature, map it to the format the app currently expects, and wire it into a development preview. Keep missing fields visible rather than filling them with invented facts. Then review the actual pages and source links in the browser.
# Build a preview from saved AI results
I want to review an AI feature's interface without rerunning generation for every UI change.
Use the representative model output I provide and the current app code. First inspect the result format and the data shape the interface expects. Identify what maps cleanly, what changed, and what is missing.
Create a development-only way to load that saved result. Preserve the original output as a fixture and adapt it separately. Do not invent missing facts, source quotes, or successful generation steps. Keep this isolated from production and leave fresh generation disabled for this preview.
Wire the result into the real interface, including detail pages, relationships, and source links where the saved data supports them. Make missing or unsupported states visible.
Open the app in the browser. Check the main navigation, representative detail views, source links, empty states, and loading behavior. Show me the preview and explain which parts use retained data.
Keep a separate list of what still requires a fresh end-to-end generation test. A useful UI preview does not prove that pipeline works.