Founding 100: first 100 SaaS founders get Solo at $19/mo, lifetime. Public price after that: $29/mo.
Claim a spot
8 min read

Your draft should already know your product. ChatGPT never will.

Every ChatGPT reply re-derives your positioning from a paragraph you paste each time. Then you forget which paragraph, your positioning drifts, and your replies start sounding like a stranger describing your tool. Here's what actually fixes it.

I was on reply 47 of the day when I caught myself describing my own product wrong.

A Reddit thread. Someone was asking how Thread Otter handled multi-channel reposts. I'd opened ChatGPT, pasted my standard "what Thread Otter does" paragraph at the top, pasted the OP below it, asked for a reply. Got a draft. It was fine. I edited two sentences and posted.

Twenty minutes later I looked back at the comment and realized I'd told the person Thread Otter "schedules" their posts. We do not schedule posts. We never have. The whole point of the product is that you hit send. ChatGPT made it up because the paragraph I'd pasted was slightly different from the paragraph I'd pasted the day before, and that day's paragraph happened to leave out the "you hit send" line, so the model filled the gap with the most-likely-adjacent-feature for a tool in our category.

I went and edited the comment. Then I sat there for a minute. I'd been the source of truth for my own product's positioning, and I was drifting. Forty-seven replies in, I couldn't have told you the exact wording I used in reply 1. ChatGPT couldn't either. There was no source of truth. There was just my fading memory of what I'd typed before.

This post is about that drift. Why it happens. Why ChatGPT can't fix it. And what an actual fix looks like.

ChatGPT was built for one conversation. You're running 47.

The way founders use ChatGPT for sales replies is a hack of how ChatGPT works.

Each conversation is a fresh context window. There's no memory of what you said yesterday, no link to your documentation, no idea what's in your changelog. Every time you open a new chat, you re-paste your positioning. Eventually that paste becomes a Notes document you keep open. Eventually that Notes document is three months out of date and you don't realize it.

The reason this fails isn't that the model is bad. The model is excellent at writing replies given the context it has. The failure is that the context is whatever paragraph you happen to paste that day, and the paragraph is in your head, and your head is unreliable.

So three things go wrong, slowly:

The positioning drifts. Reply 1's paragraph said "founder-led GTM conversation engine." Reply 50's says "AI reply tool for SaaS." Same product, different framing, depending on which paragraph you grabbed. By reply 100, somebody on the same subreddit who saw both replies is wondering whether you sell two products.

The facts drift. You shipped a feature on Tuesday. You don't update the paragraph. By Friday's reply, the feature doesn't exist in your replies. Or worse, you forget that the old feature was deprecated, and a draft mentions it confidently to someone evaluating you.

The specificity drains. When you're tired, you paste a shorter paragraph. The model has less context. The draft gets more generic. The reply that lands in r/SaaS sounds like every other AI-tool's reply that week. Generic replies don't convert.

You don't notice any of this in any single reply. You notice it eight weeks in when nobody's signing up and you're not sure why.

Notes docs and "system prompts" don't fix it

The first thing founders try is a "system prompt" — a long paragraph at the top of every chat with the positioning, the features, the pricing. This works until it doesn't.

It doesn't, because:

  • The system prompt is static, but your product is not. Every change to your site or pricing has to be manually mirrored into the prompt. Most founders update it twice in the first month and never again.
  • The system prompt has to be short enough to paste, which means it has to be a summary of your product. Summaries lose detail. The detail is exactly what makes the reply specific to the reader.
  • The system prompt knows nothing about the thread you're replying to. So it can't pull, say, the one bullet from your pricing page that's relevant to the price-sensitive question this Reddit user is asking.

The right shape isn't a system prompt. It's retrieval. The right answer for any given reply is "go fetch the two or three chunks of my documentation that are actually relevant to this thread, and put those in the context window. Skip the rest."

What retrieval actually does

Connect your website, your docs, whatever you've written about your product. Once. The tool crawls and turns each section into chunks. Each chunk gets embedded — a vector representation of what that chunk means, semantically. Stored in Postgres with pgvector.

Then, every time you draft a reply:

  1. The thread you're responding to becomes a query.
  2. The query is embedded the same way.
  3. The system pulls the top 2–5 chunks whose vectors are closest to the query vector.
  4. Those chunks — the actually relevant parts of your documentation, picked per-reply — go into the model's context.
  5. The reply is drafted with those specific chunks in front of it.

The practical effect: a thread about pricing pulls your pricing chunks. A thread about how the extension works pulls the extension docs. A thread asking "does it integrate with Slack" pulls the chunk that says "we don't integrate with Slack" so the draft doesn't hallucinate one.

This is not magic. It's how every serious AI product works under the hood. The reason most founders don't have it for their sales replies is that they're using a general chat tool that wasn't built for it.

The compound effect, eight weeks in

The first reply with grounded retrieval looks the same as a good ChatGPT reply. The difference compounds.

After a hundred replies, your positioning across all of them is consistent because every one of them pulled from the same source. Your reps in r/SaaS are saying the same things about your product that your reps in r/startups are saying. Your replies aren't reinforcing one framing this week and a different one next week.

When you ship a feature, you update your docs. The next reply, anywhere, knows about it. You don't have to remember to update a system prompt.

When you deprecate something, the same thing in reverse. The reply doesn't confidently mention an old feature because the old feature isn't in your docs anymore.

When a thread is about something specific — say, "does this work with our Cloudflare setup" — the draft pulls the Cloudflare chunk if you have one, or honestly says "we haven't tested that" if you don't. That second case is where most ChatGPT drafts hallucinate confidence. A grounded draft can't, because the context it had didn't contain that claim.

Voice is the same story, by the way. Your voice profile is documents about you — old replies, blog posts, your tone — embedded and retrieved the same way. Two retrievals per draft: one for your product, one for your voice. The draft sounds like you, says true things about your product, and stays consistent over time.

What I do now

When I draft a reply now, I don't paste anything. I open Thread Otter. The thread is already there, captured by the extension or surfaced by the discovery feed. I click "draft". A reply appears, grounded in the right chunks of my docs and my voice, in about three seconds. I read it. Sometimes I edit. I hit send.

The 47-replies-in moment I described at the top of this post can't happen anymore, because I'm not the bottleneck for the positioning. The chunks are. The chunks live in one place. They update when I update my docs. I never paste anything.

The math that used to dominate my week — five minutes of context-loading per reply times forty-seven replies — got compressed to roughly thirty seconds of reading and editing per reply. Three hours back. Plus the consistency I was bleeding without realizing.

What this is not

It's not a hallucination eliminator. The model can still get things subtly wrong. Reading every draft before hitting send is non-negotiable.

It's not a substitute for writing your docs. Garbage context in, garbage draft out. If your product is described on your website as "the best AI sales tool for modern teams," every draft is going to sound exactly that bad. The chunks are only as good as the source material.

It's not a fix for the harder problem: knowing what to say. The reply is grounded, but you still have to decide whether to reply at all, whether this thread is worth your time, and whether the angle you're taking is right. The judgment is still yours. The tool just removes the friction of describing your product correctly forty-seven times in a row.

If you've been pasting your positioning into ChatGPT

This is the part of the loop most founders haven't quite admitted to themselves. The Notes doc with the positioning paragraph in it. The two slightly different versions you can't remember which is current. The vague suspicion that your replies last month sounded different from your replies this month.

Thread Otter has a 14-day trial, no card. Drop your website URL on day one. By tomorrow morning, every draft you generate is pulling the right chunks. The first 100 Solo signups lock in $19/mo for life instead of $29 — the Founding 100 cohort, counter live on the pricing page.

threadotter.com/pricing

The day I stopped pasting paragraphs into ChatGPT was the day my replies stopped drifting. The compounding starts the day after that.