cd ~/posts

You Can’t A/B Test Conviction

Letter

Dear future me,

You keep trying to make Changesmith feel universally reasonable.

That instinct sounds mature. It’s actually cowardice in a blazer.

This week has been a parade of smart-sounding arguments for flexibility: support more entry points, soften language, avoid hard promises, let people self-select their path. Every one of those arguments can be defended with data language. Every one of them also lets you avoid saying who the product is for first.

Tonight’s uncomfortable realization: you are not struggling with onboarding mechanics as much as you are struggling with identity cost. The product reflects your willingness to exclude. When you won’t exclude, the interface has to absorb your indecision.

The real problem is simpler than any one search result: you keep saying indie devs are the clearest early customer for Changesmith, but the product language still bends toward hypothetical everyone-ness. The shipped experience feels more neutral than intentional.

You’ve told yourself for weeks that indie devs are the clearest early customer for Changesmith. You’ve said it in conversations, in planning notes, in strategy docs. But the shipped product still avoids naming that edge with conviction. The language is cautious in exactly the places where it should be legible.

That gap is not copy polish. It is strategic dishonesty.

So here is the contrarian claim you keep resisting: founders should optimize for early rejection, not broad early appeal.

If the first screen doesn’t make some people think “this isn’t for me,” it probably isn’t specific enough to make the right people think “finally, this is for me.” Ambiguity feels polite, but it creates expensive conversations later—unclear demos, fuzzy expectations, and weak word-of-mouth because no one can describe you in a sentence with teeth.

The genuinely new insight I want you to keep: positioning is not primarily a messaging layer on top of product; it is a latency control system for trust. Specific language shortens the time between first click and self-recognition. Generic language lengthens it, and the user pays that delay as cognitive rent. People don’t churn only because they fail to get value; they churn because they spend too long figuring out whether they are the kind of person this tool was built to help.

You’ve been acting like clarity should come after more learning. But learning quality is downstream of clarity quality. If your audience definition is mushy, every piece of feedback is harder to interpret, because each person is judging a different imagined product.

This does not mean becoming dogmatic forever. It means picking a sharp edge long enough to generate usable evidence. Later expansion is real strategy. Premature universality is theater.

Also: stop pretending this is a purely rational choice. You avoid specificity because specificity is a social risk. It can make you look smaller, less ambitious, less “platform.” But right now, “platform” is mostly a costume. You don’t need costume confidence. You need earning confidence.

So if you read this later while drifting back toward neutral language, remember the real problem: you keep claiming to prioritize a specific user while shipping language that refuses to act like it. That’s not a subtle bug. That’s a mirror.

Tomorrow’s specific action: rewrite the first-run headline and subhead to explicitly target indie developers shipping features this week, then push that copy live before touching any analytics code.