My app went live in the ChatGPT app directory on November 4. It's called Ladder, and the one thing developers ask me about it is why there's no model behind it.
Some context first. I'm the author of a method called the Ladder: your goal at the top, you at the bottom, and between them the obstacles and fears you'd rather not name. In September I joined AI'preneurs, an accelerator run by Astana Hub, and opened Claude Code for the first time. Two months later the method runs inside ChatGPT.
How it works
ChatGPT apps are MCP servers. Mine is a single endpoint, https://108psy.com/mcp, running in a Cloudflare Worker. It exposes two tools, both read-only:
-
get_ladder_questionsreturns the questions in Russian, Kazakh or English: a measurable goal, where you are now, 3 to 5 obstacles, up to 5 fears. -
analyze_laddertakes the answers, lays them out as steps from the bottom up and points to the one that is the real block.
ChatGPT does the talking. It asks the questions one at a time, in the user's language, and passes their own words to the tool. The tool does the reading.
Why no model
The reading follows the rules of the method. Every step gets a zone (where you are, obstacle, fear, goal) from a plain function, and the same ladder always gets the same answer. I didn't want a model drifting away from the method once people start typing personal things into it.
It also made review easier. The tools are annotated readOnlyHint: true, destructiveHint: false, openWorldHint: false, and there is honestly nothing else to declare: no sign-up, no database, nothing logged.
Guardrails
Two cases I handle before any reading happens:
- Health. If the answers contain diagnoses, symptoms or medication, the tool returns
kind: "health"and doesn't analyze anything. The app is about goals, not illness. - Crisis. If the words suggest someone is in danger, it returns
kind: "crisis"with helpline numbers and no steps at all. The server instructions tell ChatGPT to show only that message.
There are also no prices or upsells inside ChatGPT. There's a longer version on my site, but the app works on its own.
Same server, other assistants
Because it's plain MCP, the same URL works as a custom connector in Claude too. Nothing in the server knows which assistant is calling.
Two questions for you
- If you've shipped a ChatGPT app, how did your first users find it? Being in the directory doesn't seem to bring people by itself.
- Would you keep the reading rule-based, or is there a case for letting a model in for some part of it?
Try it here: https://108psy.com/en/chatgpt
I wrote this post with help from Claude.
Top comments (0)