Inspiration

Most people type prompts the way they text a friend: "make a landing page for my app, make it good pls". Then they blame the AI for the generic answer. The fix is well known. Tell the model who it is, what you want, who it is for, and when it is done. Almost nobody does that, because it takes five minutes of writing before every question.

We wanted the good prompt without the five minutes. One key press, in whatever app you are already typing in.

What it does

First Try is a Mac app that lives in the menu bar. You type a rough line in any chat box (ChatGPT, Claude, Cursor, Slack, Mail), press ⌥⇧P, and it:

  1. Reads your draft and the conversation around it, so it knows what "my app" means.
  2. Asks at most three quick questions, each with answers you can tap, and only when the answer would change the result.
  3. Rewrite your line into a full prompt with labeled parts: role, goal, context, audience, task, output, constraints, and a "done when".
  4. Put it back in your chat box. It never presses send for you, and Undo brings your own words back.

Anything it does not know stays a visible blank like [your budget]. It does not invent facts. You can also talk to it: say "make it shorter" and the prompt changes.

How we built it

  • App: Electron for the floating panel, with small Swift helpers that read and write the focused text field through the macOS Accessibility API and handle voice input.
  • Rewriting: the Claude API with structured outputs, in three steps: find the gaps, ask, rewrite.
  • Knowledge base: 28 prompting techniques drawn from 15 allow-listed sources. Every technique includes a quote of 25 words or fewer that must appear on the page it cites, along with a confidence score. Only techniques above a floor are used, and all of them are listed on a public sources page.
  • Server and site: a small Node server with SQLite for accounts and usage, behind Caddy on a VPS, and a single static landing page.

The confidence score is a formula, not an opinion:

$$ c = \operatorname{clamp}_{[0,\,0.95]}\Big( \big(b + 0.1\,\min(p-1,\,2) - 0.2\,k\big)\cdot s \Big) $$

where $b$ is a base set by the kind of source (0.9 for our own test, 0.7 for a paper, 0.3 for a forum post), $p$ is the number of independent publishers, $k$ is the number of sources that contradict it, and $s = 0.8$ when the advice is tied to one model and its newest support is over a year old (otherwise $s = 1$).

Does it work?

We sent the same requests to an AI twice, once as typed and once rewritten, across 37 test conversations, and compared the answers.

  • The rewritten prompt got the better answer in 22, an equal one in 9, and a worse one in 6.
  • That is $22/37 \approx 59\%$ better, with a 95% Wilson interval of roughly $[0.44,\ 0.74]$. It is a small sample, and we say so.
  • On the first message of a brand-new chat, where the AI knows nothing about you yet, the rewrite won three times in four.

Challenges

  • Getting text back into the box. Native apps accept a direct write. Chrome-based apps such as VS Code and Slack accept it into a hidden field and show nothing. We ended up with a ladder: write directly, check it landed, fall back to a real paste, check again, and tell the user honestly when we could not verify it.
  • Staying on top. A floating panel that must appear over full-screen apps without stealing the app's focus is harder than it sounds. Ours kept slipping behind other windows, so after every show, the app now asks the window server whether the panel is actually on top and rebuilds it if it isn't.
  • Permissions. macOS forgets Accessibility and Screen Recording permissions when an unsigned build changes. We sign every build with one stable identity, so they survive updates.
  • Not making things up. A rewriter that adds plausible details is worse than no rewriter. Blanks for unknown facts and a check for invented ones in our tests resulted from that.

What we learned

  • The first message matters most. The less context the AI has, the more a complete prompt helps.
  • Asking one good question beats guessing, but only when the answer changes the outcome. Too many questions, and people stop pressing the key.
  • "Trust me, it is better" is not a feature. A measured result and a list of sources are provided.

What's next

Sign-in and paid plans are built but not switched on yet. The Windows version exists as an older build and needs to catch up. We also want to run our larger 200-case test, so the numbers above rest on more than 37 conversations.

Built With

Share this project:

Updates

Submission history