I can ship a clean app to an audience of, generously, me. Building is one skill. Getting the right people to care is another — and the one I need to learn.
I have shipped just enough apps to be excellent at the part nobody asked about.
The code is clean. The deploy is green. The landing page even has a tasteful gradient.
The number of people using it? Generously, me.
I know how to build. That is not the same as knowing how to get anyone to care. And that gap is the one I need to close.
For a long time, the work in front of me was technical. Learn the framework. Learn the deployment path. Learn auth, data models, UI, APIs, testing, security, debugging, and production failure modes. Learn enough to make the thing real.
That work still matters. But it is no longer the only bottleneck.
The harder question now is:
Can I get the right people to care?
Not in a vague marketing way. In a practical builder way.
Can I explain what I made in one sentence? Can I name who it is for? Can I find where those people already spend attention? Can I show the product clearly enough that someone understands the value before I ask them to sign up? Can I talk to users without hiding behind the code?
That is distribution.
And I need reps.
It is easy to treat the deploy as the finish line.
The app works. The database is connected. The landing page is live. The button does what it is supposed to do. The build passes. The domain resolves.
That feels like shipping because something now exists in the world.
But existing is not the same as being found, understood, trusted, or used.
An app can be technically complete and commercially invisible.
There is a quieter reason the deploy feels like the finish line.
The code is where I am most comfortable. There is always one more bug to chase, one more rough edge to sand, one more bit of technical debt to clean up.
That list never runs out, which is exactly what makes it such an easy place to stay.
Polishing feels like progress. Sometimes it is. Sometimes it is just a way to keep the work in my own hands a little longer, where no one can tell me it missed.
That is the part I want to stop accepting as normal.
If I build something and no one sees it, I did not learn enough. I may have practiced engineering, but I did not practice the full act of bringing a product into the world.
Shipping has to include distribution.
I used to think about distribution like it belonged to a different kind of person.
The loud person. The always-posting person. The person who likes sales calls, launch threads, cold emails, hooks, funnels, and analytics dashboards.
I am not that person, which I quietly decided let me off the hook.
That framing is convenient because it lets a builder avoid the work while pretending the work is a temperament mismatch.
But distribution is not one personality.
It is a set of behaviors:
Those are learnable.
They may be uncomfortable, but discomfort is not the same as incoherence. It just means the skill is undertrained.
It also helps to be honest about what kind of skill it is.
Distribution is not a downstream feature of engineering. It is a separate discipline, closer to product, writing, and sales than to code.
Being good at building does not make me good at it, the same way being good at it would not make someone good at building.
Treating them as one skill is how I ended up fluent in one and untrained in the other.
My default pattern has been:
That is not a distribution strategy.
That is a hope strategy with a deploy step.
It is also telling that step three has no natural end. I can always polish a little more, and polishing never once required me to risk hearing no.
The problem is not only that it produces weak results. The bigger problem is that it produces weak learning.
If I do not define the audience, I cannot learn whether I chose the right audience.
If I do not write the promise, I cannot learn whether the promise lands.
If I do not show the product repeatedly, I cannot learn which demo creates interest.
If I do not talk to people, I cannot learn whether the product solves a real problem or just looks reasonable in my own head.
The product does not get better because I stayed quiet.
Every app needs a distribution plan before I call it shipped.
Not a giant marketing plan. Not a content calendar cosplay. A small, concrete plan that forces contact with the market.
For each app, I need to answer:
If I cannot answer those questions, I am not ready to ship. I may be ready to keep building, but I am not ready to pretend the work is done.
For the next thirty days, I am going to treat distribution as a craft I practice on purpose.
The goal is not to become good at everything in a month. The goal is to build the loop.
It is admittedly a lot of structure for someone whose previous plan was "post once and hope." That is exactly the point.
For each app or productized idea I work on, I will create:
The scorecard will track:
I do not expect every attempt to work.
I do expect every attempt to teach me something more useful than silence.
This blog is part of the plan.
Writing about distribution is not a substitute for doing it. But writing can make the work visible, concrete, and repeatable.
Each distribution attempt can create more material:
That is content, but more importantly, it is evidence.
The useful version of content is not pretending to have mastered the thing. It is documenting the reps honestly enough that the next rep gets better.
I want to learn how to sell the apps I ship.
That sentence is simple, but the skill underneath it is not.
Selling means understanding the user's world well enough to describe the problem in their language.
Selling means choosing a promise that is narrow enough to be believed.
Selling means showing the product at the right level of detail.
Selling means hearing "not for me" without turning it into an identity problem.
Selling means learning from weak signals instead of waiting for perfect validation.
Selling means doing enough public and direct work that a product gets a real chance to meet the people it was built for.
That is the work now.
Not just more apps.
More contact with the market.
More reps explaining the value.
More feedback before the product becomes too precious.
More proof that the thing solves something real.
The next stage is not only becoming a better builder.
It is becoming a better shipper.
For me, that means distribution becomes part of the build process instead of something I bolt on after the interesting technical work is finished.
The app is not done when it works locally.
It is not done when it deploys.
It is not done when the landing page exists.
It is done when I have made a serious attempt to put it in front of the right people, explain why it matters, and learn from what happens next.
That is the standard I want to practice.