TypeScript template for building ChatGPT Apps

Built this because I needed a decent ChatGPT app template. TypeScript,
MCP server, React widgets, Vitest, Storybook, Pino… all the proper tooling. Feedback welcome.

Live editing while you test your app in ChatGPT

CleanShot 2025-12-22 at 19.54.46

Example tool with UI showcasing how to call a tool in a widget, render tool output and use fullscreen.

CleanShot 2025-12-22 at 20.12.49

7 Likes

This looks great! Looks really useful & convenient!

May I ask, in your GIF, how did you get the UI to hot reload on ChatGPT on the window on the right, while you were editing the React code in the window on the left? That dev feedback loop looks super efficient.

3 Likes

It’s just vite hot module reloading and React Fast Refresh in action via the @vitejs/plugin-react plugin for vite.

3 Likes

great job - you can also check out the Skybridge built by Alpic, a framework that you might find useful with HMR, widget to model synch and more !

1 Like

Thanks Pierre-Louis and yeah, I caught Skybridge on The Context recently. I’m curious how it differs. I got the gist of it that they do hot reloading too but they were talking about injecting a script due to heavy caching of ChatGPT apps, or was the script he was referring to HRM/fast refresh in general?

Hey @nickytonline , I’m Fred. I was on The Context presenting Skybridge :slight_smile:
Nice work on the pomerium template!

On the hot reload question : Skybridge is also vite dev server with HMR.

But Skybridge is much more than that: we are the react-native of ai-native apps. We bundle 2 widgets, one for OpenAI Apps SDK and one for MCP App. We package a lot of custom hooks to make life easier (useCallTool, useCheckout, useRequestModal, useFiles…). And we also package neat little helpers like the data-llm attribute that do automatic widget-to-model context sharing :slight_smile:

I think your template my benefit from using our hooks

3 Likes