Skip to content

Build log · AI prompt rewriter

How I built preprompt.

In betaChrome · VS Code · MCP · CLI · WebMar 2026 to Nov 2026, still shipping

In short

preprompt rewrites a vague prompt into a specific one, adding the missing context, constraints and output format, before the model sees it. It works inside ChatGPT, Claude, Gemini and Perplexity through a Chrome extension, and inside Claude Code and Cursor through a hook and an MCP server. I co-founded it, and I’m the engineer who built it.

Co-founder and engineer. I co-founded preprompt, and I’m the engineer who built it. I wrote most of its code: the backend, the website, both extensions, the MCP server and the CLI.

preprompt: Rewrites a vague prompt into a specific one before ChatGPT, Claude, Gemini or Perplexity sees it.

The problem

Most prompts are underspecified. The person typing knows the context, the constraints and the format they want, but doesn’t type them, so the answer comes back generic. Rewriting every prompt by hand is the step everyone skips.

What I built

  • The rewrite engine: a Python backend that sorts each prompt and rewrites only the ones that need it, with daily spend caps, alerts and a weekly quality run.
  • A Chrome extension (Manifest V3) that adds a Rewrite button inside ChatGPT, Claude, Gemini and Perplexity.
  • A VS Code extension, plus a hook and MCP server for Claude Code and Cursor, shipped with a small CLI on PyPI.
  • The website, accounts, monthly credits and Stripe billing, with an admin console for prompts, the waitlist and system health.
  • A local classifier for the developer tools that scores each prompt on your own machine, in under a millisecond, before anything is sent.

Key decisions

  1. Clear prompts pass through untouched.

    A prompt like “what is jwt” doesn’t need rewriting. In the developer tools the scoring runs locally, so a clear prompt never leaves the machine and costs nothing.

  2. A prompt that looks like it holds a secret is never sent.

    API keys, tokens and private keys pass through unchanged. A rewriting tool that forwards secrets to a server is a liability.

  3. The developer tools moved from the user’s own Anthropic key to a preprompt account.

    The early 0.1 releases kept that key in plain text on disk. Version 0.2.0 needs no key at all, and the old releases were withdrawn.

  4. Sharing prompts is opt-in, asked at install, with nothing pre-selected.

    Prompts are private by default. Collecting them by default was ruled out on consent grounds, from the Chrome Web Store’s rules to GDPR. Prompts people choose to share are kept for 12 months.

Want something like this?

I build for clients the way I built this, and on client work you deal with one person from brief to launch. Tell me what you need, and the brief comes straight to me.