DEV Community

Cover image for Storybook for ChatGPT Apps
Abe Wheeler
Abe Wheeler

Posted on • Originally published at sunpeak.ai

Storybook for ChatGPT Apps

If you've built React applications, you probably know Storybook—the tool that lets you develop UI components in isolation, share them with your team, and iterate without spinning up your entire app. Today we're bringing that same workflow to ChatGPT Apps.

The Problem with ChatGPT App Development

Building ChatGPT Apps has a painful feedback loop. To see your changes, you need to:

  1. Build your resources
  2. Deploy / run your MCP server
  3. Refresh your ChatGPT connector
  4. Start a new ChatGPT conversation
  5. Create the right conversation state
  6. Configure the perfect state in your database to illustrate a single scenario

That's a lot of friction for checking if a button is the right shade of blue.

Worse, sharing your work-in-progress with teammates or stakeholders means they need access to your MCP server,
mastery of your technical data model, and the patience to navigate through the same steps.

Enter the sunpeak simulator

Local Development

sunpeak running on localhost

The flagship sunpeak simulator was originally for local development only.
In the simulator, each resource in your app gets its own preview.
Switch between inline, fullcreen, and pip display modes instantly.
Test light and dark themes. No ChatGPT account required.

sunpeak dev
Enter fullscreen mode Exit fullscreen mode

This starts a local development server with hot reloading. Every save updates the preview immediately.

Hosted Storybook

sunpeak running in the sunpeak resource repository

The Sunpeak Resource Repository now hosts the sunpeak simulator to run your ChatGPT App resources in an isolated environment.
Think of it as a higher-level Storybook for ChatGPT Apps: you can preview every resource, test different display modes, and share a link with your teammates.

Once you push your resources to the repository, your teammates can try them out at the provided link:

sunpeak push -t design-review

Pushing 4 resource(s) to repository "Sunpeak-AI/sunpeak"...
Tags: design-review

✓ Pushed albums, 1 simulation(s), tags: design-review
  https://app.sunpeak.ai/resources/5e57bbe6-b4a5-4895-9f10-81b667740b78
✓ Pushed carousel, 1 simulation(s), tags: design-review
  https://app.sunpeak.ai/resources/f5304085-46d2-4b96-9173-ad865523862b
✓ Pushed map, 1 simulation(s), tags: design-review
  https://app.sunpeak.ai/resources/95087582-be0a-45b2-80ec-16d439b380eb
✓ Pushed review, 3 simulation(s), tags: design-review
  https://app.sunpeak.ai/resources/c329195b-23ea-4577-8116-32b52de37f13
Enter fullscreen mode Exit fullscreen mode

Share your resource URLs with your team. Designers can review the UI without touching code. Product managers can validate the flow without configuring MCP servers. Engineers can debug tool responses in isolation.

Collaborate on Behavior

The simulator isn't just for visuals or static states. You can mock tool inputs and outputs to test how your app responds to different states:

  • What does the app look like when a tool returns an error?
  • How does the UI handle a slow response?
  • Does the loading state feel right?

Configure these scenarios once and share them with your team for feedback.

Why This Matters

Storybook transformed frontend development by making components shareable and testable in isolation. ChatGPT Apps deserve the same treatment.

With the sunpeak simulator, you can:

  • Iterate faster: See changes instantly without the deploy-refresh-navigate dance
  • Collaborate earlier: Get feedback on designs before they hit production
  • Test edge cases: Mock different tool responses without backend changes
  • Document behavior: Create shareable previews that serve as living documentation

Get Started

The simulator is available now in the sunpeak resource repository. If you're already using Sunpeak, sunpeak push your resources to the repository.

New to sunpeak? Check out the quickstart guide to get your first ChatGPT App running in minutes.

Top comments (0)