
Building a ChatGPT App: Early Observations and Lessons Learned

Building a ChatGPT App: Early Observations and Lessons Learned
It’s becoming increasingly clear that ChatGPT-style interfaces are emerging as the next major way users will interact with brands online.
While ChatGPT doesn’t yet match the depth of a brand’s flagship website, it already has over 700 million weekly active users and commands more than 82% of the AI chatbot market share.
That scale makes ChatGPT impossible to ignore. It’s now a strategic engagement channel in its own right. Brands that want to stay visible and relevant will need to bring their experiences and data directly into ChatGPT, enabling users to explore products, ask questions, and complete actions without ever leaving the chat.
At the moment, the only way to do that effectively is by building apps using OpenAI’s new Apps SDK.
Why We Built a ChatGPT App
On October 6, 2025, OpenAI released the Apps SDK, allowing developers to create rich, interactive user interfaces directly inside ChatGPT.
We immediately built our first ChatGPT app to understand how it works and to explore what’s possible. This post shares our first-hand experience including what worked well, what didn’t, and what we learned along the way.
Key Takeaways
The Apps SDK delivers on its promise of enabling rich in-chat experiences, but it’s still early in its evolution.
For now, most brands will likely use ChatGPT apps as interactive experiences designed to guide users toward their website. As the SDK matures, we expect more brands to build complete, self-contained experiences where users can perform full transactions directly within ChatGPT.
Before diving into what we discovered, here’s a quick overview of how ChatGPT apps actually work.
How ChatGPT Apps Work
The user selects a ChatGPT app that they want to include in their chat.
The user enters a prompt.
ChatGPT identifies an MCP Tool within the app that can fulfill the request.
The prompt is parsed, and the relevant data is passed to that tool.
The MCP Tool returns structured content (usually JSON) along with metadata linking to an MCP Resource.
ChatGPT retrieves the React component associated with that resource.
ChatGPT hydrates the component with the JSON data.
The user then interacts with the rendered interface directly in the chat.
The Good
Strong starting examples: The SDK includes several working examples, each with a complete MCP server and React app, along with clear setup instructions.
Modern technology: OpenAI’s use of React and TypeScript aligns with modern development practices and hints at future support for single-page app-like experiences.
Reliable prompt interpretation: In our testing, ChatGPT consistently identified the correct MCP Tool for each prompt with zero misfires.
Chained reasoning: ChatGPT can perform multiple MCP Tool calls in sequence when needed to complete a task.
For example, our app allows users to search a product catalog and request a quote. ChatGPT automatically handled every required step including locating the correct Product ID, identifying the right variant, creating a cart, adding the item, and then submitting the quote, all without being explicitly told how.
This demonstrates how ChatGPT can act as an intelligent workflow engine, capable of executing complex multi-step processes on behalf of users. You can see it in action in this video of the app we built.
The Bad
Limited UI complexity: The example apps don’t show how to use returned MCP data to render meaningful UI, something essential for real-world use.
Sparse documentation: Many utilities (
useOpenAiGlobal,useWidgetProperties,useWidgetState, etc.) lack clear documentation, leaving developers to experiment.No installable SDK yet: The Apps SDK isn’t installable via npm at this point. Fortunately, the team at Fractal created an installable SDK with far better documentation.
Verbose responses: Large data payloads cause ChatGPT to produce overly verbose text after rendering the app’s UI. While there’s a workaround, this will need improvement for large-scale applications.
Non-persistent frames: Each new prompt creates a new app frame rather than updating the existing one, forcing users to scroll and disrupting the experience.
One App at a Time: At this point the user must explicitly state that they want to use a specific app and they can only use one app at a time. This limits the potential for ChatGPT to execute processes that require multiple apps so we expect this to quickly change.
Where Things Are Headed
OpenAI recently announced Agentic Checkout, part of its Agentic Commerce Protocol.
For now, if you’re not using Shopify or Etsy, you must build a robust API layer based on OpenAI’s schema to enable agentic checkout on ChatGPT. However, OpenAI has indicated that MCP support is coming soon, which will make building commerce experiences directly in ChatGPT far easier.
We’re already developing an MCP integration for Agentic Checkout and will share our results once it’s live.
Final Thoughts
ChatGPT is evolving into a full-featured application platform, one that’s going to reshape how users discover, interact with, and buy from brands online.
If you’re exploring ChatGPT app development, looking for reference implementations, or need hands-on help building your own MCP or ChatGPT app, I’d be happy to share what we’ve learned and help you get started.
Let’s build what’s next — directly inside ChatGPT.
