Inspiration

Generative AI is now widely used to create images, dialogue, code, summaries, and other things whose forms are already easy to imagine. But can generative AI create something that does not yet exist? That question gave rise to NEVERCASE.

A kettle, an abandoned calendar page, a row of plants, or a sock left in an unusual place may all seem like parts of an ordinary scene. Yet when we take another careful look, we often discover small details that feel slightly out of place. Connect several of those subtle inconsistencies, and they may become evidence of a great secret, an impossible disappearance, or an incident that never actually happened.

I created NEVERCASE in the hope that it would become a short creative game in which players could look closely at their surroundings, invent mysteries, and enjoy the act of imagination itself.

What it does

NEVERCASE is a mystery game built from photographs supplied by the player.

The player begins by submitting three photographs of things that feel slightly strange or interesting. Detective Vellum examines details that can actually be observed in the images and constructs an unlikely—but logically traceable—incident connecting all three.

The game does not select a prewritten answer. Instead, it performs the following process:

  1. Extracts grounded observations, ambiguities, arrangements, and relationships from the opening photographs.
  2. Builds several possibilities specific to that case.
  3. Locks the candidate set without choosing a final truth.
  4. Selects an unlikely but evidence-grounded lead.
  5. Asks the player for two additional photographs through Vellum’s poetic and slightly cryptic investigative suggestions.
  6. Re-evaluates the surviving possibilities after each new photograph.
  7. Presents Vellum’s final theory.

The player can accept Vellum’s conclusion or object with a theory of their own.

An objection is not judged through keyword matching or comparison with a secret model answer. GPT-5.6 checks whether the player’s theory can be reconstructed from the saved observations and relationships. If the player’s theory is evidence-grounded and also more imaginative than Vellum’s conclusion, it becomes the ending.

The case closes with Vellum’s verdict and a final investigation report.

For a faster judging experience, Prepared Investigation provides five preselected photographs. Only the photographs are prepared. Image analysis, candidate generation, Detective reasoning, objection judgment, and the ending are all generated during play through live GPT inference via the API.

How I built it

I began by discussing the idea with ChatGPT. I then created the documentation and task list, and used them as the basis for implementing the project together with Codex. Perhaps because ChatGPT is so good at producing correct answers, it was difficult to develop a system that could invent incidents that do not exist at all, and it took considerable effort to make the concept work well.

The result is a Cloudflare Worker-compatible ChatGPT Sites project built with React, Next.js, vinext, and TypeScript.

How I used Codex

I used Codex throughout the Build Week implementation period.

Codex played an active role in almost every part of the project:

  • Inspecting and understanding the evolving repository.
  • Translating the game rules into production state transitions.
  • Implementing the staged inference runtime.
  • Writing unit, integration, security, and end-to-end tests.
  • Diagnosing failures in the hosted environment.
  • Finding retry loops and fallback paths that could hide real AI failures.
  • Reviewing privacy and secret-data boundaries.
  • Building the Accept/Object interaction and objection judgment flow.
  • Adding the Prepared Investigation path.
  • Verifying data deletion and replay behavior.
  • Preparing the public repository and submission documentation.

Of course, the product principles were human decisions. These included not predetermining the incident, having Vellum prefer a sensational but logically defensible theory over a mundane one, and giving the player a genuine opportunity to defeat the AI with a better theory.

Challenges I ran into

The hardest challenge was balancing imagination with evidence.

If the prompts were too conservative, Vellum merely described what was visible: a sock became a sock repair, and a calendar became scheduling. That was accurate, but it was not interesting.

If the prompts encouraged unrestricted imagination, the result could become disconnected from the photographs.

The solution was to preserve strict, grounded observations in the Evidence Atlas while allowing a separate narrative layer to introduce unlikely actors, intentions, and events. A theory may make a large imaginative leap, but the chain connecting that leap to the photographs must remain understandable.

Reliability was another challenge. A complete case requires several structured model calls, but long-running request chains caused timeouts, duplicate retries, and unnecessary API usage. Dividing the flow into durable stages with saved checkpoints made failures visible and recoverable. It is still far from perfect, however.

I also learned that strict prose validators can actually make a generative game less reliable. If an entire inference is rejected simply because a line of dialogue is slightly imperfect in style, the game can stop. I therefore moved most stylistic control into the prompts and limited hard validation to structural requirements and safety boundaries.

Accomplishments I am proud of

I am proud that NEVERCASE made it beyond a mere technical demonstration and became a complete product experience, even if an imperfect one. I am also proud that I managed to build it on my own in just eight days.

What I learned

  • I learned that building a product takes more than simply giving instructions.
  • Video production has become surprisingly accessible. One highlight was using the HyperFrames plugin in the ChatGPT app to add subtitles and edit them live while visually reviewing the results.
  • Codex’s image generation still struggles with anatomical details, particularly distinguishing left from right arms and hands. I found that it is often more efficient to work with the model’s learned tendencies—for example, by repositioning elements in the reference image before requesting a correction from a right hand to a left hand.
  • Carefully planning and dividing implementation work into smaller tasks has both advantages and drawbacks. In particular, validation work can become locally optimized, leading to overengineering and unintended side effects elsewhere in the system.

What’s next for NEVERCASE

If I continue developing NEVERCASE, I would like to add:

  • Direct capture from a device camera.
  • Broader smartphone and browser testing.
  • Longer investigations with more evidence turns.
  • Measured evaluation of output quality, latency, and API cost.
  • Automatic retention limits and deletion auditing.
  • Stronger recovery from occasional inference failures.
  • Additional Detective presentation, animation, and audio.

The Build Week version is intentionally short: three opening photographs, two additional evidence turns, and one final confrontation with Vellum. A future version could support longer cases while continuing to preserve multiple possibilities until the evidence truly narrows them.

Built With

  • chatgpt-sites
  • cloudflare-d1
  • cloudflare-r2
  • cloudflare-workers
  • codex
  • next.js
  • openai-gpt-5.6
  • openai-responses-api
  • react
  • typescript
  • vinext
Share this project:

Updates