In this post
This is the last part of the series. The previous three covered specific failures — the title that became a filename, clicking by coordinate and the post that did not exist.
This part is the scoreboard. No makeup, and with the right denominator — each channel's real queue, not "looks done".
The scoreboard
| Channel | Done | % |
|---|---|---|
| YouTube Shorts | 38/38 | 100 |
| Discord | own server | 100 |
| Store developer page | full profile | 100 |
| Threads | bio, link and posts | 100 |
| Site and blog | 2/2 | 100 |
| Store listing copy | 6/7 | 86 |
| Software directory | 5/6 | 83 |
| Product Hunt | 7/9 | 78 |
| X | 27/38 | 71 |
| App Store editorial | prepared | 50 |
| TikTok | 16/38 | 42 |
| 13/38 | 34 | |
| 10/38 | 26 | |
| 0/8 | 0 | |
| Long-form YouTube | 0 | 0 |
| Developer communities | 0 | 0 |
| Kwai | 0/38 | 0 |
Five channels at zero. The reasons are worth separating, because they look nothing alike.
The zeros, one by one
Reddit — reputation gate. Covered in full in part 3. New account, zero karma, own domain in the first post. The unlock is time, not effort.
Kwai — no web interface. The account exists and is configured. But Kwai exposes neither profile editing nor publishing on the web — no settings route exists on the site. Only the mobile app. For a desktop operation that is not difficulty; it is the absence of a door.
Developer communities — never attempted. Zero by decision, not by block. Flutter, Firebase and indie dev forums are exactly where this series would find its audience. It is the biggest gap in the plan and the cheapest to close.
Long-form YouTube — the asset does not exist. No horizontal video was ever produced. An honest zero.
Store promotional content — the feature does not exist. It was in the plan by assumption. The account simply does not have it.
Three of the five zeros are not poor execution. They are planning on unchecked assumptions — a channel with no web interface, a format that was never produced, a feature the account does not offer. Checking the door first would have saved the entire queue.
The most expensive mistake: 47 videos live with the wrong text
Our typing automation was assumed to be unable to send accented characters. Because of that, every caption was generated without accents — which works, and looks visibly amateurish in Portuguese.
On 4 August we discovered the assumption was false: accents go through fine. The copy generator was fixed the same day.
And then came the second mistake, which cost more than the first: nobody went back to the channels already published.
Result: 38 Shorts and 9 TikToks published or scheduled with the wrong text — plus a misspelled hashtag surviving in two derived files that were never regenerated.
When an assumption falls, the work does not end at fixing the cause. Sweep every artefact derived from it. Fixing the factory and leaving the defective batch on the shelf is half a fix.
A problem that only shows up at scale
Thirty-eight videos, eight apps, a 28-day calendar. It looks like trivial distribution: rotate through the apps, one per day.
Naive rotation produces a bad schedule, and the reason is arithmetic. The apps do not have the same number of videos: one has ten, others have three. In a simple rotation the ones with three run out first, and the end of the calendar becomes four consecutive days of the same app. To anyone following the account, that does not read as programming — it reads as a stuck bot.
The fix was to replace rotation with proportional distribution: each app gets spacing proportional to its volume, so the one with ten videos appears every third day from start to finish instead of bunching at the end.
| Schedule criterion | Result |
|---|---|
| Days repeating the same brand | 0 |
| Back-to-back repetitions | 0 |
| Coverage | 38 videos across 28 days, no gaps |
Ten of the 28 days carry two videos and the other eighteen carry one. None of this is advanced marketing; it is the same scheduling problem that shows up in any task queue, and naive rotation fails it for the usual reason — it assumes the batches are the same size.
What returned the most per hour
| Type of work | Effort | Durability |
|---|---|---|
| Profile pages | hours | permanent |
| Store listing copy | hours | permanent |
| Own site and blog | days | permanent, under your control |
| Short video across six platforms | weeks | ephemeral, algorithm-dependent |
| Reputation communities | weeks of presence | permanent but slow |
The first three rows return the most per hour — and they are the least glamorous. A well-written store listing works every day, forever, depending on nothing. A short video works for 48 hours.
That is not an argument against video. It is an argument against starting with video.
The ordering error is easy to explain in hindsight. Video feels like progress: it produces something to show every day, and the counter goes up. Store listing copy produces nothing visible and the counter does not move. So the work that compounds gets postponed by the work that performs — and six weeks later the ephemeral assets have expired while the permanent ones still are not written.
What we would do differently
- 1. Check the door before building the queue. Three channels entered the plan
without anyone verifying that publishing on the web was possible.
- 2. Read the house rules before writing the copy. Five communities were chosen
by topic and none allowed self-promotion. The text was written before the rule was read.
- 3. Enter reputation channels months before launch. Reddit and X are presence
channels, not launch channels.
- 4. Treat assumptions like code. When one falls, sweep the derivatives.
- 5. Start with what is permanent. Store listing, profile pages, own site.
Ephemeral content afterwards.
A note on measurement
The most honest item in this scoreboard used to be the one that was missing: when we published this series, we had no conversion numbers at all. Store URLs went out bare, with no campaign parameters, and the site had no analytics installed. We knew what was published. We did not know what worked.
That was fixed afterwards, and it is worth recording what the fix answers and what it does not:
| What went in | What it can now answer |
|---|---|
| Site analytics | How many people arrive, on which page, from where |
| Search Console | Which queries bring people, and which pages are indexed |
| Campaign parameters on store links | Which post sent someone to the store |
The third row has a subtlety that is expensive to learn the hard way: on Google Play, a campaign parameter sitting loose in the query string is ignored. It has to travel inside referrer, which is the only one the store forwards to install attribution. On the App Store the equivalent is ct. A link built the intuitive way feels like measurement and measures nothing — the same kind of false positive this entire series describes.
And what remains unanswered: installs per channel. We can see who reached the store; what happens after that click belongs to the store, and it only reports in aggregate. Measuring the middle of the funnel is not measuring the end of it.
Optimising without measuring is switching guesses. But measuring the wrong thing precisely is worse: it buys confidence without buying information.
Frequently asked questions
How many channels can you realistically run in parallel?
Fewer than it looks. Of the nineteen we opened, four finished at 100% and five stayed at zero — and those five did not fail from lack of effort but from structural blocks: account reputation, no web interface, or a feature the account simply does not have. Map the door before you build the queue.
What returned the most per hour invested?
Profile pages. Developer page on the store, a listing on a software directory, a launch profile: hours of work, permanent, and independent of any algorithm. Video content produces more raw reach and costs twenty times the time.
Is it worth posting the same video on six platforms?
Yes, with one big caveat: the copy has to be adapted per platform. X deprioritises posts with site links in some contexts, TikTok does not allow clickable links below a thousand followers, and Reddit treats repeated text across communities as spam. The video travels; the caption does not.