Learn to build your first ChatGPT App in under 15 minutes. Understand why ChatGPT Apps matter, how MCP servers work, and see tools and widgets in action.
Try the app, view the code, or explore the components.
Try asking
“Show me the top 10 forwards by form”
By the end of this lesson, you will:

ChatGPT Apps are a new way to bring your product directly into ChatGPT conversations. Instead of users opening your website or mobile app, they interact with your capabilities right inside ChatGPT.
Why should you care? ChatGPT has 800 million weekly active users. That's not a typo—800 million people every week using ChatGPT to get questions answered, discover products, and solve problems. For consumers and businesses alike, ChatGPT has become a go-to destination.
This changes how you should think about building apps. The question isn't just "what does my app do?"—it's "how does my product drive value in a conversation?"
Look at what's already happening:
The key insight: conversation is the starting point, not clicks. Inside ChatGPT, your app is a capability the model can call when it's useful. The "unit of value" isn't your overall experience—it's the specific things you help accomplish at the right moment.

ChatGPT Apps are built on MCP Servers (Model Context Protocol). MCP is an open specification from Anthropic for connecting LLM clients to external capabilities.
Think of an MCP Server as a bridge between ChatGPT and your data or services. It bundles three things:
| Component | What It Does |
|---|---|
| Tools | Functions the AI can call (fetch data, take actions) |
| Resources | Files or data the AI can access |
| Prompts | Pre-built prompts the client can use |
OpenAI extended MCP with something powerful: UI components. Your tools can return structured data that renders as rich widgets inside the chat. This hybrid of conversation + interactive UI is what makes ChatGPT Apps special.
Let's make this concrete. I'm a fantasy football player—a lazy one. I never remember to do player research, and I'd love ChatGPT to help me out.
Here's my problem: I want an app that finds player information and helps me make the best selections for my team. Breaking this down into capabilities:
Each of these becomes a tool in our MCP server. Each tool returns structured content that renders as a widget. Simple as that.
Tools are functions that ChatGPT can call. When a user asks "Show me the top forwards", ChatGPT calls your show-players tool with the right parameters.
Here's the flow:
show-players with position="Forward", sort="form"The magic is in the structured content—the JSON data that your React component will consume. This flows to your widget via the window.openai API.
Explore the tools we built for this app:
No tools defined yet
I don't know about you, but I get overwhelmed with walls of text sometimes. It's just how we're wired—humans are visual creatures. Good UX means presenting information in the format that makes it easiest to understand.
When I want to pick my captain for the week, I don't want to read paragraphs of stats. I want to see them—form graphs, points per game, fixture difficulty. At a glance.
This is what makes ChatGPT Apps special: the hybrid experience. You get the natural conversation flow AND rich visual interfaces when they're useful.
Widgets are React components that render inside ChatGPT. They consume the structured data from your tools and display interactive UI.
The pattern is simple:
window.openai.toolOutputCheck out the widgets we created for this app:
Let's trace through what happens when you ask "Show me the top 10 forwards":

Here's the story: First, ChatGPT figures out that it needs to use a tool from your MCP server to answer this question. It looks at the available tools and decides show-players is the right one.
Then it calls your MCP server, which talks to the FPL API to fetch the latest player data. Your server processes the response, structures it into JSON, and sends it back along with widget metadata.
Finally, ChatGPT renders your React widget with all that data—and the user sees beautiful player cards, right there in the conversation.
Why does this change how applications are built?
You can now combine the power of ChatGPT with your data, data from other apps, and rich visual interfaces to create incredible experiences.
You've learned the core concepts. Now it's time to think about what you want to build.
What problem could you solve with the power of ChatGPT plus your data? What experience could you create that feels magical because it shows up exactly when it's needed?
Ready to start?
In future lessons, we'll cover state management and authentication.
Got questions? Want to share what you're building? We're here to help.