# AI Apps That Work: Make your AI work first time, for less

A Next.js starter for apps with AI features. It records which AI results users had to redo and what each cost, so Claude Code or Cursor can fix what fails.

Status: in development. Founding price $149 (one-time) for the first 50 buyers, then $249. [The template](https://aiappsthatwork.com/template?via=md). [Waitlist](https://aiappsthatwork.com/?via=md#waitlist).

## The problem
Coding agents such as Claude Code and Codex can build an AI app, but they can't make the AI work for every user. The feature works on the inputs the builder tried; real users bring inputs nobody tried, hit "try again", leave and don't pay.

## The three numbers
- Worked first time: The share of AI results that didn't need a “try again”, undo, fix, re-ask or overrule.
- Wasted AI spend: What you spent this month on AI results that didn't work.
- Real cost per result: What you actually pay for each result that worked, counting the failed tries.

Each is broken down by who the AI failed for, next to ai bill as a % of revenue, free-to-paid conversion, churn.

## Free tools
- [Judge agreement checker](https://aiappsthatwork.com/tools/llm-judge-agreement?via=md): Check how often your AI judge agrees with a person, and whether to trust it.
- [Judge prompt builder](https://aiappsthatwork.com/tools/judge-prompt-builder?via=md): A pass/fail judge prompt for any AI step, from support replies to invoice fields.
- [Model switch test](https://aiappsthatwork.com/tools/model-switch-test?via=md): Run your prompt on two models side by side and compare what worked and what it really costs.
- [Real cost per result calculator](https://aiappsthatwork.com/tools/real-cost-per-ai-result?via=md): What each AI result really costs, what you waste a month, and what to charge in credits.
- [Prompt A/B test sample size](https://aiappsthatwork.com/tools/prompt-ab-test-sample-size?via=md): How many results you need before a prompt or model change is proven.
- [AI launch checklist](https://aiappsthatwork.com/tools/ai-launch-checklist?via=md): The AI-specific checks that generic vibe-coding checklists skip.
- [Model shutdown calendar](https://aiappsthatwork.com/tools/model-shutdown-calendar?via=md): Announced API shutdown dates and replacements, with sources.

## Questions
### Can't Cursor or Claude Code already do this?
They can write the code. They can't see which AI results your users had to redo, so they can't tell whether a change helped. The template records that, and its instructions teach your agent to use it.

### Do I need to set up evals?
No. Most results are scored from what users already do: regenerate, edit, undo, ask again, ask for a human. Where users give no signal, like a lead score, the report waits for the real outcome or asks you to check a small sample by hand.

### Can I buy the template today?
Not yet. The template is in development. Join the waitlist and you'll get one email when it's ready, with the founding price of $149 for the first 50 builders.

### My app is already built. Is this for me?
The next thing after the template is a retrofit kit that adds the same recording and report to an app you've already built. Join the waitlist and say what you're building, so you hear when it's ready.

### Is it only for chatbots?
No. It works for any AI step: support bots, document and invoice readers, lead scoring, email agents, search, translation, and image or video generators. Each kind of step has its own sign that a result needed a redo.

### Which AI providers does it work with?
Any you can call from your server: OpenAI, Anthropic, Google, xAI, Mistral, DeepSeek, open models through OpenRouter, and image or video APIs. Switching to a cheaper model without your users noticing is one of the things it's for.

### Where does my users' data go?
Into your own database. The template doesn't send your prompts, AI results or user data to us.

---
Markdown version of https://aiappsthatwork.com. Every page on this site has one: add .md to the URL (https://aiappsthatwork.com/index.md for the home page) or send Accept: text/markdown.
