Ladder Pick Development Plan

Ladder Pick — ChatGPT App Development Plan#

  • Project name: ted-mcp-servers
  • App name (App Directory display): Ladder Pick
  • App language: English first (UI / tool description / privacy policy all in English; only the plan document is in Korean)

Core Documents (Must-Read)#

Design#

Build#

Deployment / Testing / Submission#

Guides / References#

General References#


Goals#

  • Build a “Ladder Pick” app that can be listed on the ChatGPT App Directory.
  • Enable the complete flow — entering participants / items → generating a ladder (random matching) → revealing results — through an interactive widget (iframe) within a chat.
  • After testing with ChatGPT Developer Mode, the ultimate goal is App Directory submission / approval / Publish.

Assumptions / Scope#

  • MVP: Interactive widget (iframe UI) + MCP tool-based. The widget provides core interactions such as entering participants / items, displaying results, and reshuffling.
  • Out of scope (initial): Login / payments, real-time multiplayer, complex animations, external data integration.
  • No authentication required: Since there is no external service integration, we start without OAuth / authentication flows.
  • Safety / Policy: No write operations to external systems. Tool hint annotations:
    • readOnlyHint: false — Not true because internal state is created / modified
    • destructiveHint: false — No irreversible external impact
    • openWorldHint: false — No public internet state changes

User Experience (UX) Scenarios#

Basic Flow (Interactive Widget)#

  1. The user types @Ladder Pick or something like “play a ladder game.”
  2. ChatGPT calls the create_game tool, and the Ladder Pick widget is displayed in an iframe.
  3. Within the widget:
    • Players list: Add / remove participant names (default 4)
    • Items list: Add / remove result items (prizes / roles)
    • Options: Reveal mode (All at once / One by one), Seed (auto / custom)
    • Click the “Pick!” button → Generate matching results
  4. Results area:
    • All at once: Display the full matching table immediately
    • One by one: Reveal one person at a time with the “Reveal Next” button
    • “Reshuffle” button: Reshuffle with a new seed
    • “Export” button: Copy results as text

Text Fallback#

  • Even without the widget, ChatGPT can display tool call results as text (table).
  • Example: “Ladder Pick, match A,B,C,D with 1st,2nd,3rd,4th” → Text table response

Error Cases#

  • Fewer than 2 participants → Error message: “At least 2 players are required.”
  • Item count ≠ participant count → Error message: “Number of items must match number of players. You have {n} players and {m} items.”
  • Items list empty → Error message: “Items list cannot be empty.”

Functional Requirements#

Input#

  • Participant list (Players): 2–20 people
  • Result items (Items): Must be exactly the same count as participants (error returned on mismatch)
  • Options
    • Reveal mode: all | one-by-one
    • Seed: Auto-generated or user-specified (for reproducibility)

Output#

  • Matching results: Player ↔ Item 1:1 mapping
  • Ladder visualization: Canvas-based visual ladder (vertical lines + horizontal rungs + color-coded path animations)

State / Storage#

  • Module-level Map<gameId, GameState> for in-process in-memory management
  • Unique ID issued on game creation; subsequent reshuffle / reveal_next lookups use that ID
  • No persistent storage (resets on server restart; this is sufficient for the initial version)

Technical Design#

Architecture (Based on Official Structure)#

ChatGPT Apps consist of two components:

AI Services and Tools (1): ChatGPT / Gemini / Claude

AI Services and Tools (1)#

There are organizations that build AI models. They may publish their models, offer their own end-user services powered by those models, or provide APIs so developers can use the models. Based on public models, others may also create and release “derivative models” optimized for their own purposes, or ship them as services/APIs.

Meanwhile, many teams don’t train models from scratch. Instead, they integrate AI features into products quickly by using APIs offered by others. In this ecosystem, new services and tools keep appearing, helping organizations of all sizes—from startups to large enterprises—apply AI to business. In this chapter, we’ll focus on well-known AI services and tools and introduce what each offers and how they’re commonly used.

Ladder Pick in ChatGPT

Ladder Pick in ChatGPT#

What Are ChatGPT Apps?#

ChatGPT Apps is a feature introduced by OpenAI in October 2025 that allows external service providers to integrate their services into ChatGPT. It is built on MCP (Model Context Protocol), which provides a standard for LLMs to invoke external tools. ChatGPT Apps takes this a step further by extending the standard so that interactive UI and logic from external services can be embedded directly within the ChatGPT chat interface. In other words, MCP established the standard for “LLMs using external capabilities,” and the scope of those capabilities has expanded beyond simple data retrieval and execution to include user-facing interactive UI. On top of this, OpenAI launched the App Directory, a marketplace where users can discover and try a wide variety of apps. For developers, this creates an opportunity to expose their apps to ChatGPT’s massive user base and potentially monetize them.

© 2026 Ted Kim. All Rights Reserved. | Email Contact