I have built a programming language, a language for people to speak, and a competitive shooter. All three of them work and are fairly complete. It is unlikely that many people will ever see them, and that is not a problem with the code.

Building ends. Distribution does not.

A compiler has an end state. The tests pass, the examples run, and the thing you had in your head exists and behaves. However hard it was, it was bounded, and at any point you could say roughly how far through it you were.

Getting anyone to look at it has no end state. There is no test suite for attention and no moment where the marketing is finished and you are allowed to go home. You can put in a year and get nothing, put in an afternoon and get fifty thousand people, and afterwards be unable to say which part of either was the cause. Work with no feedback signal is barely work at all. It is guessing with extra steps, and I am bad at it in the specific way that everyone who would rather be building is bad at it.

The one shot problem

The standard advice at this point is to ship small and ship often. More attempts, more shots on goal, learn from each one.

That advice is not wrong so much as it is answering a different question. Shipping small is a search procedure. You are looking for signal in noise, and a rough version is a cheap probe: if even something crude gets pulled at, there is probably a market underneath worth building for. For a startup hunting a market that is exactly the right instrument, and I would use it too.

It is not an instrument for making something you already know is worth making. If you have decided the idea is good, or the thing simply cannot exist in a small form, and a compiler cannot, then there is nothing left to search for and no probe to fire. There is only the years, and no way of knowing in advance whether anybody will ever look at what comes out of them.

There is too much finished work competing for the same minute. Against that, a half built thing is not a cheap experiment, it is an invisible one. It does not come back with data, it comes back with silence, and silence is the single result you can learn nothing from, because it is indistinguishable from never having existed at all.

It is also worse than ignored. A rough release does not read as an early version of something good any more, it reads as a scam or a virus, because on the open internet that is what most unpolished software now actually is. Polish stopped being a signal of care somewhere along the way and became a signal of legitimacy, which means the standard for getting looked at at all is excellence, and excellence is now the price of the ticket rather than the thing you are judged on afterwards.

So the floor has moved, and it has moved to the top. The thing has to be genuinely excellent, finished, and good enough that a person who runs into it tells somebody else. That is the entry fee rather than the win condition. On top of that you need either a platform you already own or marketing ability of an order most engineers do not have and cannot fake. Both of those, at full strength, at the same time, and it still, generally, does not work. That is the actual shape of the problem, and every version of the advice that leaves out the second half or lowers the bar on the first is selling something.

Which is where the one shot comes from. Not from being slow. One attempt at that standard costs years: build to that level, market to that level, miss, and a serious fraction of a working life has bought a single data point that does not even say which of the two halves failed. Most people have one of those in them. A few have two. Then they are exhausted and they stop, and stopping is not weakness. It is the correct response to the arithmetic.

Why it is always the young ones

Y Combinator has a well known preference for young founders, and the usual explanations - energy, no dependents, nothing to walk away from - are true but polite. The blunt version is that it helps enormously not to know the odds.

An adult with a mortgage, ten years of pattern matching and a spreadsheet will work out the expected value of the attempt and correctly decline. That is not cowardice, it is arithmetic. The whole arrangement depends on a supply of people who have not done the arithmetic yet, because the few attempts that land pay off enormously, and they can only come out of a pool of attempts that a sober person would never have made.

The awkward part, and the reason I no longer tell this story the way I used to, is that the young are not the ones who actually win. The largest study on it went through Census and tax records for 2.7 million people who founded a business and hired somebody, and put the mean age at founding of the fastest growing one in a thousand of those firms at forty five. Prior experience in the specific industry turned out to be one of the better predictors of success. So ignorance is not an advantage in the outcome. It is an advantage in the attempt. The young supply the swings and the experienced convert them, and the reason the story usually gets told the other way round is that a system running on a large supply of attempts has every reason to keep recruiting the people who have not yet priced one.

The angel round raised from friends and family is the same shape. Taking fifty thousand dollars from people who love you, against a plan you cannot honestly justify to a stranger, is reckless. It is also, often, the only reason the thing exists at all. Delusion is an input to this process rather than a fault in it, which is uncomfortable to write down and truer than I would like.

Distribution matters more than the product

Here is the conclusion I have been avoiding for years, mostly because it sounds like something said on stage at a growth conference by someone selling a course.

Distribution now matters more than the product.

Not more than whether the product is any good. Good still decides whether anyone stays. But take two products of equal quality, one with distribution attached and one without, and the gap between them is not a factor of two. The one without does not come second. It reads as zero, and zero is what nearly everything ever made reads as. Which makes distribution a design decision, taken before the first line of code and in the same breath as deciding what the product is, rather than a launch post you write at the end when you are tired and the interesting part is over.

None of which is new, and that is the part that should bother us. Peter Thiel was teaching it at Stanford in 2012: poor distribution, not a poor product, is the number one cause of failure, and engineers are the ones who miss it hardest because we are truth oriented people who want the quality to be self evident and read selling as a kind of dishonesty. He also supplies the tell. "Great products sell themselves" is itself a sales pitch. What has changed in the years since is not the principle but the exchange rate: the gap between having distribution and not having it has widened until being right about the product buys you almost nothing on its own.

The exception, and why it is closing

There is one exception, and it is the reason anybody still tries. A thing can be exceptional enough to distribute itself. Nobody markets it, the first hundred people who see it cannot help handing it to the next thousand, and the quality is the channel. That does still happen, and when it happens it beats every strategy in this piece.

The exception has a hidden requirement though, which is that somebody has to see it in the first place. Even a thing that spreads on its own needs a first audience, and first audiences are no longer assembled by accident. Feeds are ranked, every slot is spoken for, and the pool of work competing for each one grows faster than anyone's attention does. More and more often the exceptional thing is not beaten on merit. It is never sampled at all, and what is never sampled cannot be passed on.

Where anyone bothers to measure this, the numbers are not subtle. Steam took more than nineteen thousand new games in 2025, and by the end of the year roughly half of them had fewer than ten reviews, with over two thousand sitting on none at all. That is not a market rejecting bad work, because a market that rejects you has at least looked.

Software has a scoreboard too, and I went and read it while writing this. GitHub search will count the public repositories sitting on any exact number of stars, so I walked down the ladder a rung at a time and wrote down what it said. Treat the instrument with some suspicion, because it disagrees with itself: on the same afternoon, the search page called the zero star pile 238 million while the search API called it 87.4 million, and the two agreed on every other rung. The table uses the API's answers. The shape is not in dispute either way. Each rung down holds a small fraction of the one above it.

StarsRepositoriesRelative percentage
087.4 million100%
119.3 million22%
5709 thousand0.81%
5012.5 thousand0.014%
1,000510.00006%

Fifty one repositories in the world sit on exactly one thousand stars. Not because a thousand is out of reach, but because the air is so thin up there that almost nothing stands on any particular rung. A lot of the zero star pile is coursework and dotfiles and abandoned Saturdays, obviously. Eighty seven million is still an enormous number to wave away, and nobody, me included, can tell you what is in there.

Or, as odds on the next repository you push:

The odds of being cared about

That is the part that should be uncomfortable. Attention is distributed as a power law, and a power law does not mean the best rises while the rest comes in slightly smaller. It means a head that takes very nearly everything and a tail that is dark. We have no instrument for telling an empty tail from a full one, because the only instrument available is the attention that is not being paid. How much good work is down there is not a question anybody is in a position to answer, and the honest response to how much we are missing is that we cannot know, which is a worse answer than any number would have been.

Something else pulls the same way. Yancey Strickler named it the dark forest: the places where people actually talk to each other have moved somewhere you cannot reach or measure, into group chats and Discords and private newsletters, while what is left in the open is mostly advertising and performance. Word of mouth has not stopped working. It now happens in rooms you cannot enter, cannot see into, and above all cannot start.

Carry that forward and you get calcification. The audiences that already exist keep receiving from the sources they already have, genuinely new work sits with nobody upstream of it, and selection quietly stops being selection on quality and becomes selection on who already had distribution. That is worse than unfair to the people making things. It is slower innovation for everyone, because the ideas nobody sees are also the ideas nobody gets to build on, and the next thing that would have been built on top of this one never gets started.

I would rather this were not true. I have tested it against my own work more than once and it keeps being true.

The lottery, the invoice, and the bet

There are three ways to get distribution, and they are not the same game.

The lottery is virality. Make something with a surface people want to pass on, put it where an algorithm can find it, and hope. The payoff is enormous, the probability is tiny, and the part that really hurts is that it does not repeat. Winners cannot reliably tell you how to win again because they largely do not know either, and every account of a viral hit is a story assembled afterwards out of an outcome that had a great deal of noise in it.

The invoice is paid acquisition, and it is the only one of the three with a dial on it. Money goes in one end, people come out the other, you measure the ratio, and if the ratio works you turn it up. There is nothing romantic about it. It is also the only part of distribution that behaves like engineering rather than weather, which is why the honest advice has been drifting towards it for years. I remember a Y Combinator talk from around five years ago making exactly this argument, that counting on virality had become a losing bet next to paid, and I cannot find which talk it was, so take that as recollection rather than citation. It matches everything I have watched happen since.

The catch with paid is the inequality underneath it, which is Thiel's again: what a customer is worth over their life has to exceed what it costs to go and get one. Houski can price a customer, so Houski can buy one. A programming language has nothing to put on the left hand side of that. There is no revenue per user to bid against, so every dollar of ads for it is spending rather than acquisition, and the same is true of a language people speak. The channel that behaves most predictably is therefore the one that most of what I make is structurally unable to use, and that, rather than any preference of mine, is why the third option is what is left.

The bet is an audience. Jonathan Blow can announce a game and a known number of people will buy it more or less unseen, because twenty years of visible work earned him that. Those certain purchasers are the asset, not the game. They do not depend on an algorithm, they compound, and they are why he gets to keep taking swings while most people get one. It also took him twenty years, which is exactly why the strategy looks so unappealing from where I am standing, and exactly why it is the right one if you intend to make more than one thing.

This one also has a name and a long paper trail. Kevin Kelly wrote it down in 2008 as a thousand true fans, where a true fan is defined as somebody who will buy anything you produce, and a thousand of them is a living. Andreessen Horowitz later argued the real number is closer to a hundred, now that a single fan can pay you directly and repeatedly. The number keeps falling, which is the one genuinely encouraging trend in this entire piece. What has not moved at all is the entry price, which is being visible for years before any of them exist.

A living, priced in true fans

1,000

fans are a hundred thousand dollar year

I intend to make more than one thing.

Would you play if nobody could hear it

Underneath all of the channel arithmetic is something that has nothing to do with revenue, and I have come to think it is the part doing the real damage.

Work means something because it lands on somebody. You make a thing, a person uses it, their day is slightly different, and that loop closing is most of the reason anyone bothers. Take the loop away and the activity looks identical from outside, the same hours and the same care, and it is not the same thing at all. Years can go into something genuinely good and make no difference to anybody, not because it was judged and found wanting but because it was never seen. That is not rejection. Rejection at least confirms you were there.

And unless you are one of the few with a platform or a hit, you cannot perceive the difference you made, because there is nothing to perceive it with. Nothing comes back. The overwhelming majority of everything made now passes under every radar there is, including the maker's own.

Would you keep playing guitar if nobody could ever hear it?

A few people honestly would. Most of us would not, and there is nothing weak in that. Making things is a way of speaking to other people, and speaking with no possibility of being heard is a different act that deserves a different name.

Part of how we got here is that the stage itself changed size. It used to be possible to be the best guitarist in your town, and that was a real thing to be: a local band, a local bar, a hundred people who knew your name and would come out on a Friday to hear you. The contest was small and the win was real. A global stage deletes that outcome, because on a global stage you are no longer playing against the other guitarists in town, you are playing against Nickelback, and if you are not Nickelback, nobody comes. Music got there first, but the same thing happens to anything the internet touches, and to any competitive space once it globalizes. The moment a craft moves online, the town it was practiced in becomes the whole world at once, and every carpenter, comic, cook and chess player is suddenly standing on the same stage as the one best person alive at it. Programmers included: the star ladder above is what our version of the one worldwide stage looks like, and it seats fifty one people on the thousandth rung.

That is what winner take all actually does. A thousand local competitions produce a thousand winners, and a few thousand more people who got close enough to feel the heat and stayed in the game. Fold them into one worldwide competition and the same talent and the same effort produce one winner and a planet of people who lost. I would bet this sits under a good part of the general feeling of meaninglessness people keep reporting, because measured against everyone on Instagram at once, almost anything anyone does is meaningless in scale. People are sized to matter to a hundred others. We deleted the rooms that held a hundred and moved every performance into one room holding all eight billion.

The curve is the same curve everywhere, which is the uncomfortable part. It ranked the repositories, it ranks the games on Steam, and it ranks companies, and competition policy long ago stopped being willing to break the head off it. So the winner take all shape is climbing the ladder of scale: a thousand mid sized firms each hiring and training their own people was a thousand local competitions, and a handful of giants that between them need surprisingly few people is one global one. That is a large part of why looking for work has started to feel the way releasing a game on Steam does, and why it is getting hard to name a space where a person can just enter, compete and win something small. The curve was always there. We keep removing everything that used to stand between it and us.

You can put numbers on the trade, and they are worse than intuition says. Let attention on any stage fall off as the square of rank, which is the shape these curves actually take, and give every town a hundred players. Nobody merges towns, of course. What actually happens is that one scene after another moves onto the same platform, every town's players in front of one shared crowd, and that is the same arithmetic wearing plausible clothes. Put n scenes on one platform and the n local winners do not become n slightly smaller acts. The curve keeps the square root of n of them above the line a town's best used to stand on: a thousand scenes keep thirty one, ten thousand keep a hundred. A square root is a savage exchange rate for a society to volunteer for, and we signed every craft up for it at once. Drag the slider and watch the seats go out.

Former local winners still being heard

So people stop. Not dramatically and not all at once. They finish one thing, watch it vanish, and quietly do not start the next one, and what reads from outside as laziness or a lack of ambition is usually somebody who has correctly worked out that they cannot see any route from their effort to another human being. Multiply that by everyone running the same calculation and it stops being a private disappointment and becomes a society with a great many people in it who have stopped taking part. None of the numbers above capture that, and it is the cost I actually worry about.

Which is what this is

So there is now a blog on this site. Not a content strategy, and not a decision to make smaller things. The standard of the work is the part I am least willing to move, and lowering it would not help anyway. What changes is that the other half no longer starts on launch day. I write here about what I am building and what I got wrong, regularly, for as long as it takes, so that the next finished thing arrives in front of people who already exist instead of into a silence I try to fill in a week.

The projects are still Nail, Simple Universal Language and ProAim. What changes is that I stop building them in silence.

If you read this far, you are the start of the asset, which is a mercenary way to put it. The less mercenary way is that you are now someone I owe good work to, on a schedule. The work still has to be good. It just does not get to be the only thing I do.

What I read while writing this