Promo Factory Open the console →
Agentic promotion control plane

Declare the goal.
The reconciler chases it.

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.

campaign = hypothesis → goal metric  ·  observe → diff → act → repeat  ·  stop = always your call
reconciler observediffact
Backlinks harupa.pro — referring domains on it
4 / 10 domains
baseline 2goal 10
reconciler needs you · gate 1 · plan

Campaign “Personal brand articles” is behind

Rhythm below goal: 3,210 < 5,000 impressions this month. Proposing 4 additions — your current plan stays, this extends it.

Link in the self-reply, never the first post
reach penalty ~50% for links in the opening post · X · auto · conf 0.7
2–4 weeks non-promo Reddit participation
outside the auto queue — the submit button is yours · manual · conf 0.7
✓ Approve (4)✕ Decline
The engine

One loop. Not a pipeline, not a to-do app.

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.

observe

Pulls the metrics that matter — search console, analytics, npm downloads, backlink indexes — honestly. No data means “no data”, never a made-up zero.

diff

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).

act

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”.

Gate 1 — the plan. Every proposed action arrives with a “why this closes the gap”. You tick items on or off, leave a reason, approve. Nothing runs unapproved.
Gate 2 — your hand. Reddit, Product Hunt, Hacker News, brand-voice posts, paid actions: the system prepares, you press. It then verifies the result actually exists.
campaigns are continuous — hitting the goal triggers a “stop it?” suggestion, never an auto-stop
296use cases written down, then we stopped counting
Why there is no feature list

You can’t feature-list a system that composes the solution

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).

A sample of the space

Some of what it already knows how to run

authority

10 real dofollow domains — without buying a single link

Link-earning assets (data studies, reactive journalist quotes) + mention reclamation, capped at a velocity spam filters respect.

tech-seo

Unblock the track that silently blocks everything

Orphan pages, crawl-budget leaks, index coverage — flagged as a blocking dependency; link-building waits until the weight can land.

distribution

One blog post → five channels, staggered

Canonical first, dev.to cross-post 7–10 days later with canonical_url, Telegram → Mastodon → Bluesky fanned out days apart.

attribution

Know exactly which action moved the metric

Every action logs what/where/when + the fact-link; verdicts are “moved / no effect / inconclusive” with confidence — not vibes.

brand

A rhythm that compounds: 5,000 impressions/month

Rolling goal, per-channel voice, weekly cadence. Consistency beats virality — the engine enforces the boring part.

off-track

Catch “behind” before the month is lost

Off-track proposes a delta — “+Reddit niche, −Pinterest” — as an extension to your plan, never a silent re-write.

launches

Show HN without the AI-text scandal

For Hacker News the system refuses to write your post. It hands you angles and facts; you write, you post, it measures.

acquisition

Grow a dev tool where installs actually happen

99% of MCP installs come via npm, not directories — so it instruments install → activation → D7 before spending on reach.

rca

“Nothing moved” gets an autopsy, not a shrug

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.

portfolio

Five products, one attention feed

Everything that needs a human — waiting submits, off-track, blockers — lands in one ranked feed. Critical things pull you; noise waits.

cost

Paid X posts pass a cost gate first

$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.

community

Reddit karma warms up in parallel, not on the critical path

2–4 weeks of non-promo participation runs as a parallel blocker while tech-SEO and owned channels ship.

honesty

No baseline — no campaign

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.

research

Niche research that doesn’t ask twice

Project-level discovery (niche, market, competitors) is collected once and reused by every campaign; each campaign only adds its own audit.

verification

Empirical dofollow, not folklore

Before a venue enters the plan, the system fetches the HTML and checks the rel attribute. Directories that never pass weight get ranked accordingly.

lag

“Still measuring — don’t panic yet”

Metrics carry their lag windows. Verdicts and root-cause only fire after the window closes; strategies aren’t blamed prematurely.

patterns

The same failure across campaigns gets fixed once

When a weak outreach template fails in two projects, it surfaces as a platform-level pattern — one fix, applied everywhere.

compliance

FTC + EU AI Act disclosure, baked in

Material-connection and AI-provenance labels are a required parameter of publishing, not an optional checkbox someone forgets.

…your niche isn’t on this page. That’s the point.

The engine composes campaigns from playbooks and live research — the use-case space is open-ended by design.

Who it’s for

Built for people who ship products, not campaigns

solo builder

A portfolio, zero marketing hours

“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.

dev-tool author

npm / MCP distribution

“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.

launching founder

Launches without the cringe

“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.

personal brand

Voice is an asset, gate it

“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.

Same engine, different goal shapes

A target to hit — or a rhythm to hold

case a · target
2 → ≥10 referring domains · 8 weeks

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.

progress is honest: 4 / 10 · “still measuring” inside lag windows
case b · rhythm
≥5,000 impressions / month · no end date

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.

rhythm tracked against a rolling window — bursts don’t fool it
one model: continuous campaign + manual stop — the goal shape is just a field
Playbooks, not folklore

The craft is encoded — 2026 edition

Five vertical playbooks carry the tactics that actually survive contact with algorithms.

Link in the self-reply, never the first post — links up front cost ~50% reach on X.
Origin first; dev.to cross-post 7–10 days later with canonical_url — simultaneous = cannibalization.
4–10 quality referring domains/month max — velocity spikes on young domains trip spam filters.
Answer-first structure: every H2 opens with the answer — feeds AI Overviews and ranking at once.
Link-earning beats cold outreach: one data study ≈ 42 referring domains on average.
Reddit/Discord are earned: weeks of non-promo participation before a single value post.
Guardrails, structurally

Growth without the gray zone

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.

You press submit on Reddit, PH and HN

There is no auto-submit tool in the system — structurally. Your account, your post, your hand. The system verifies the result exists afterwards.

Hacker News: not one AI word

The system won’t draft HN posts at all. Facts and angles only — you write it, or it doesn’t happen.

LinkedIn through the official API only

No cookie bots, no browser automation — the 2026 ban wave is someone else’s problem.

White-hat only

No bought links, no PBNs, no engagement pods. One DR70 editorial beats a hundred junk directories — the ranking encodes that.

Disclosure is a parameter, not a promise

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.

No number is ever invented

Honest-fail everywhere: no data reads “no data”. Baselines are required before impact claims. Attribution shows the fact-link or says “inconclusive”.

What you actually pay for

Speed and parallelism — never your own approvals

1,000
tokens / min

One project, one campaign at a time. The full engine, unhurried research.

10,000
tokens / min

Portfolio pace: parallel campaign slots, deeper niche research per tick.

100,000
tokens / min

Every vertical on every product at once, research that leaves no venue unread.

The firewall: tiers accelerate research and execution — they never speed up, prioritize or bypass a human gate. Waiting for your approval is not a paid SLA and never will be.