C.W.K.
Stream
Lesson 01 of 04 · published

A Market of One

~11 min · market-of-one, product-thesis, strategy, why

Level 0Cold Draft
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"An editor whose spec is one specific person cannot be bought. So it has to be built."

The Editor You Can't Buy

Dad has tried them all. VS Code, iA Writer, Ulysses, Obsidian, Sublime. Each one is genuinely good — and each one is genuinely wrong for him, in the same way: it serves the greatest-common-denominator user. To sell to millions, an editor has to average across millions of hands. The result fits the average hand and no real hand.

So every general-purpose editor arrives with the same two defects at once: it carries half the features you never wanted (a file tree, a debugger, an extension marketplace, a plugin settings maze) and it lacks half the features you did (a live voice checker, a bilingual desk, a margin that talks back). You spend your life turning things off and wishing for things that aren't there.

The Greatest-Common-Denominator Trap

Think of it as a set operation. A product built for a market ships the union of what all its users want, then buries the parts you don't use behind menus. A product built for one person ships exactly one person's set — nothing extra, nothing missing.

The union is why big editors feel heavy even when you use 10% of them: the other 90% is still loaded, still in the menus, still shaping the defaults. You can't configure your way out of a spec that was never yours. Rekindle refuses the union on principle. Its spec is a set of size one.

A Market of One Is Freedom, Not Limitation

The instinct is to hear "market of one" as a constraint — a toy, a compromise, a thing that can't scale. Flip it. A market of one is the only market where you never have to compromise with a stranger's taste. No A/B test, no onboarding funnel, no lowest-common-denominator default, no feature you keep because some other user would churn without it. Every decision has exactly one judge, and the judge is in the room.

That's the whole license for this project. Because Rekindle answers to one person, it can be opinionated to the bone: source-mode only, no WYSIWYG, no Electron, a Pippa in the margin. None of those would survive a product committee. All of them are correct for the one user who matters.

Code

Union of a market vs. the set of one·typescript
type Editor = { features: Set<string> };

// A general-purpose editor ships the UNION of every user's wants,
// then hides the ones you don't use behind menus and settings.
function generalPurpose(users: User[]): Editor {
  const features = new Set<string>();
  for (const u of users) for (const f of u.wants) features.add(f);
  return { features }; // huge, heavy, half-unwanted per single user
}

// An editor for a market of one ships exactly one person's set.
// Nothing extra to turn off, nothing missing to wish for.
function marketOfOne(dad: User): Editor {
  return { features: new Set(dad.wants) };
}

// The union fits the average hand and no real hand.
// The set of one fits exactly one hand — on purpose.

External links

Exercise

Open the editor you write in most. List three features you keep turned off (or wish you could) and three features you wish it had but it doesn't. That six-item list is the spec of your market-of-one editor. Notice how none of it would survive a product roadmap — and how obviously right all of it is for you.
Hint
The tell for a market-of-one feature: it's obviously correct for you and obviously unshippable to a market. 'A margin that knows my voice' is unsellable and exactly right.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.