Inspiration

Party games are most fun when joining takes seconds and language is not a barrier. COPYCAT asks a simple question: can ChatGPT itself become the meeting place, translator, and optional AI player—without forcing the organizer to pay per-model-call fees?

What it does

COPYCAT is a 3–10 player social-deduction game. Everyone sees the same 16-word grid, but one secret Copycat does not know the chosen word. Players give one-word hints, vote for the faker, and a caught Copycat gets one final comeback guess.

Players can use global human matchmaking, a private room, instant rule-based CPU practice, or ChatGPT-controlled CPU players. Matchmaking automatically adds rule CPUs when other humans are not available, so every visitor can play immediately. The bundled decks are parallel-translated in Japanese, English, Chinese, Korean, and Spanish. When hints become public, each participant’s own ChatGPT translates foreign-language answers into that participant’s language and the widget shows the translation beside the original. ChatGPT can also generate another complete language pack and render it directly in the widget.

How we built it

COPYCAT is a ChatGPT App. Its MCP server exposes open_copycat, localize_copycat, translate_copycat_hints, get_copycat_cpu_turn, and submit_copycat_cpu_turn, and returns a responsive web-component game UI.

A Cloudflare Worker serves the MCP endpoint, matchmaking APIs, and widget assets. Durable Objects run the global matcher and each room's WebSocket state machine. The backend never calls an LLM.

In ChatGPT CPU mode, the player's current ChatGPT reads one CPU's role-safe context through get_copycat_cpu_turn, reasons privately, and submits only the final hint, vote, or guess through submit_copycat_cpu_turn. Translation follows the same cost boundary: localize_copycat supplies model-generated UI copy, while translate_copycat_hints stores only public per-player hint translations. The server remains deterministic and model-free.

Challenges we ran into

The hardest boundary was authentication and cost. A normal website cannot use a participant's ChatGPT subscription as a general-purpose LLM API. We therefore moved from a local bridge prototype to a true ChatGPT App architecture: ChatGPT is the host and identity boundary, while the game server is only the referee.

We also had to keep every language synchronized, prevent private role leakage, make solo judging reliable when nobody else is online, and make sandboxed widget networking work in production. Parallel deck indexes, role-scoped CPU context, deterministic CPU fallback, explicit CORS handling, and end-to-end MCP/WebSocket tests solved those issues.

Accomplishments that we're proud of

  • Four complete play paths: human matchmaking, private rooms, instant rule CPUs, and ChatGPT CPUs
  • Automatic CPU fallback when a human match is unavailable
  • Per-account model reasoning with no operator API key or inference bill
  • Five instant languages, per-player realtime hint translation with original-text preservation, plus ChatGPT-generated widget localization
  • A full multiplayer state machine with hint, vote, comeback guess, scoring, reconnect, and rematch phases
  • An original GPT Image mascot and an Apple-inspired responsive interface
  • A permanent Cloudflare deployment with no bridge, tunnel, or local process
  • One-command verification covering MCP descriptors, localization, matchmaking, CPU tools, rooms, WebSockets, and multilingual rounds

How we used Codex and GPT-5.6

Codex was the primary engineering environment for the project. It completed and tested the game state machine, reconciled the widget and server contracts, migrated the prototype to the Apps SDK/MCP architecture, implemented CPU and translation tool flows, generated the mascot with GPT Image, refined the interface, diagnosed live ChatGPT integration failures, deployed the permanent Worker, ran browser-based end-to-end validation, and prepared the public repository and submission.

GPT-5.6 was used meaningfully throughout implementation, debugging, design review, architecture decisions, and production verification—not merely to generate the project description.

What we learned

ChatGPT Apps are not just API wrappers. The strongest design uses the model only where language and judgment matter, while deterministic infrastructure handles multiplayer state, matching, privacy boundaries, scoring, and fallback play.

What's next for COPYCAT

Next we will complete public app review, expand the validated community-created deck workflow, improve moderation and reconnection for larger live events, and explore tournament rooms that keep the same no-operator-inference-cost architecture.

Built With

  • chatgpt-apps
Share this project:

Updates