Promotion for your whole product portfolio, run by agents — sensing, planning, drafting, publishing, attributing. You stay in the middle at exactly two points: approve the plan, and press the buttons only a human should press.
Rhythm below goal: 3,210 < 5,000 impressions this month. Proposing 4 additions — your current plan stays, this extends it.
A campaign is a declared desired state — “≥10 real referring domains”, “5,000 impressions a month”. Like a Kubernetes controller, the reconciler closes the gap between what is and what you declared.
Pulls the metrics that matter — search console, analytics, npm downloads, backlink indexes — honestly. No data means “no data”, never a made-up zero.
Compares reality to your goal, aware of measurement lag (links take 2–4 weeks to register — it won’t panic mid-window, and won’t let you celebrate early either).
Picks the next action by phase and dependencies: publish where it owns the channel, draft where you own the button, re-plan when the numbers say “off track”.
Promo Factory doesn’t ship a button per scenario. It ships one engine, five vertical playbooks of 2026-grade craft, and an agent that composes the plan — and even the interface — for your situation, from eleven universal primitives.
That’s the trade we chose: instead of fifty shallow features, a system that is non-deterministic where it helps (research, plans, interfaces are composed per niche) and strictly deterministic where it must be (metrics, money, gates, attribution — every number is real or absent, never invented).
Link-earning assets (data studies, reactive journalist quotes) + mention reclamation, capped at a velocity spam filters respect.
Orphan pages, crawl-budget leaks, index coverage — flagged as a blocking dependency; link-building waits until the weight can land.
Canonical first, dev.to cross-post 7–10 days later with canonical_url, Telegram → Mastodon → Bluesky fanned out days apart.
Every action logs what/where/when + the fact-link; verdicts are “moved / no effect / inconclusive” with confidence — not vibes.
Rolling goal, per-channel voice, weekly cadence. Consistency beats virality — the engine enforces the boring part.
Off-track proposes a delta — “+Reddit niche, −Pinterest” — as an extension to your plan, never a silent re-write.
For Hacker News the system refuses to write your post. It hands you angles and facts; you write, you post, it measures.
99% of MCP installs come via npm, not directories — so it instruments install → activation → D7 before spending on reach.
A failed task opens a root-cause view: bad plan vs. failed executor — and the fix (improve the skill / swap the vendor) feeds the next tick.
Everything that needs a human — waiting submits, off-track, blockers — lands in one ranked feed. Critical things pull you; noise waits.
$0.20 per link-post is real money at volume. Anything that costs opens a gate with the estimate — you approve the spend, per post.
2–4 weeks of non-promo participation runs as a parallel blocker while tech-SEO and owned channels ship.
If the metric can’t be measured yet, kickoff blocks and the system hand-holds you to the exact data source. No baseline, no impact claims.
Project-level discovery (niche, market, competitors) is collected once and reused by every campaign; each campaign only adds its own audit.
Before a venue enters the plan, the system fetches the HTML and checks the rel attribute. Directories that never pass weight get ranked accordingly.
Metrics carry their lag windows. Verdicts and root-cause only fire after the window closes; strategies aren’t blamed prematurely.
When a weak outreach template fails in two projects, it surfaces as a platform-level pattern — one fix, applied everywhere.
Material-connection and AI-provenance labels are a required parameter of publishing, not an optional checkbox someone forgets.
The engine composes campaigns from playbooks and live research — the use-case space is open-ended by design.
“Five products, and promotion always loses to shipping.”
Declare one goal per product. The reconciler works all of them; one feed tells you where you’re needed. Promotion becomes a review job, not a second job.
“Listed in every directory, installs flat.”
Instrumented install → activation → retention funnel first, registry hygiene and per-client snippets second, reach spend only when the funnel holds water.
“HN smells AI text a mile away.”
Show HN stays 100% yours — the system preps facts and angles only. DevHunt, Peerlist, PH: drafts prepared, your hand on every submit, results verified after.
“I want reach, but nothing goes out sounding like a bot.”
Brand channels are content-gated by default: you see the full text before anything ships. Humanization tunes voice — it never games detectors.
Weak external profile blocks ranking. The plan: tech-SEO pass first (it blocks link value), then a linkable data study, dev-native directories with verified dofollow, reactive journalist quotes — while Reddit waits behind your submit. At goal, the system proposes a stop; you decide.
Every new article triggers per-channel adaptations in your voice — X thread with the link in the self-reply, LinkedIn via official API, Reddit as a human-submit draft. A content gate shows you every word before it ships. Monthly report; the rhythm never auto-stops.
Five vertical playbooks carry the tactics that actually survive contact with algorithms.
The rules aren’t a policy document the agent might ignore — they’re the shape of the system. The tool to break them doesn’t exist.
There is no auto-submit tool in the system — structurally. Your account, your post, your hand. The system verifies the result exists afterwards.
The system won’t draft HN posts at all. Facts and angles only — you write it, or it doesn’t happen.
No cookie bots, no browser automation — the 2026 ban wave is someone else’s problem.
No bought links, no PBNs, no engagement pods. One DR70 editorial beats a hundred junk directories — the ranking encodes that.
FTC material-connection + EU AI Act provenance ship with every publish call. It can’t be skipped, because it isn’t optional in the schema.
Honest-fail everywhere: no data reads “no data”. Baselines are required before impact claims. Attribution shows the fact-link or says “inconclusive”.
One project, one campaign at a time. The full engine, unhurried research.
Portfolio pace: parallel campaign slots, deeper niche research per tick.
Every vertical on every product at once, research that leaves no venue unread.