MarkEatingLeads
Demo

Management · Analytics · Ads · Content

One console for company marketing

Every channel lands in one place, and one person runs all of it. Mark finds the topic, writes the post, publishes it, pushes the best of it into paid, answers whoever replies, and hands your sales team a qualified lead. A human steps in where a human actually matters.

20+publishing channels
7inbound channels
767automated tests
1person at the console

Some channels run today, others land in the coming weeks. Everything below carries its real status. We keep those two states apart.

What it replaces

Eight tabs, three contractors, no single picture

A typical company schedules social posts in one tool, sends email from another, buys ads in three dashboards, and reads inbound messages by hand in every messenger. Nobody can say which post produced revenue. Someone assembles the monthly report manually, and it goes stale before anyone reads it.

Post to revenue

Platform analytics stop at reach. What happened after the click stays invisible.

Leads go cold

Someone writes on Saturday, sales reads it Monday. That buyer already paid a competitor.

Nobody knows what to write

Topics come out of a weekly meeting. Demand lives somewhere else entirely.

How it is built

Four layers running at once

This is not a pipeline. Four layers exchange data continuously: the radar feeds content, content feeds paid, paid brings inbound conversations, and those conversations flow back into analytics and change how topics get scored.

Layer 1

Watch

Topic radar, search demand, analytics, inbound conversations. Answers what is going on.

Layer 2

Make

Content, video, the weekly plan, the calendar, drafts held for approval.

Layer 3

Promote

Ad accounts, a bidding advisor, tracking parameters, and a kill switch.

Layer 4

Answer

The dispatcher: message in, qualification, a lead handed to sales.

Publishing

Where the console publishes

One draft goes out to every connected channel in that channel's own shape: length, markup, images and links all adapt. Each row carries its real status.

ChannelHow we connectStatus
TelegramBot API, channels and groupslive
LinkedInmember profiles, then company pagesweeks away
Xofficial APIweeks away
Facebook PagesGraph APIweeks away
InstagramContent Publishing APIweeks away
ThreadsThreads APIweeks away
YouTubevideo and community postsweeks away
BlueskyAT Protocol, openweeks away
MastodonActivityPub, openweeks away
Pinterest, Redditofficial APIsweeks away
VK, MAX, Odnoklassnikiofficial APIslive
Your site and blogarticles built around search demandweeks away
Emailbuilt from the same draftweeks away

Adding a channel means writing one adapter and running the shared test suite against it. We split publishing into isolated modules precisely so a broken platform never stops the others.

Where no API exists

A platform without an API is not a dead end

Some platforms never opened publishing to outsiders. We still deliver to them: through a feed, through a relay channel, or through an automation scenario. The client sees the same draft and the same approval. How it travels stays our problem.

Feed

Publish through RSS

The console serves a feed and the platform pulls from it. Yandex Zen works this way: support connects the feed once, and posts flow after that.

Relay

Through a relay channel

The console posts to Telegram, and the platform pulls from there. One channel becomes the source for several.

n8n

Through an automation scenario

The console calls a webhook and the scenario does whatever our code does not: writes to a sheet, pushes into someone else's CRM, talks to a platform on its own terms. Scenarios change without redeploying the console.

The rule: look for an official API, then a feed, then a relay, and only then walk away. We write the refusals down too, so nobody checks the same platform twice.

Content

From signal to published post

Radar

What is picking up speed

The console reads industry feeds, social sources and search demand, merges duplicates into stories, and scores each one on speed, fit, novelty and saturation. A crowded topic sinks on its own.

Angle

Your specific way in

For every story the console proposes angles: analysis, counterargument, how-to, customer story. On sensitive topics the playful angles get blocked and only the measured ones remain.

Draft

Text, image, formatting

The draft is built per channel from the start: length, markup, cover image, tagged links.

Approval

The only door out

Nothing reaches a channel until a person presses the button. This is not a setting or a mode. No other path to the platform exists in the code.

A human decides
Queue

Publish, retry, triage

The queue remembers what already went out and never double-posts. It retries a network glitch and sends a real refusal to a human instead of hammering the platform.

Video

Video as its own pipeline, not a bolt-on

Video plays by different rules: different platforms, different aspect ratios, different rights on music and faces. So it gets its own pipeline instead of being squeezed through the path built for text.

Script from the same story

A topic the radar surfaced for a post becomes a video script. One story pays twice.

Assembly

Voice, cuts, subtitles and thumbnail come together in an automation scenario instead of by hand.

Vertical and horizontal

One source cuts into a long video and into short vertical formats.

Publish and track

The video goes to YouTube and the other connected platforms with the same tracking as posts, and lands in the same analytics.

Video sits after channels and the dispatcher in the plan. It is the largest piece, and building it before the text channels work would stretch everything else.

Inbound

It answers wherever people reach you

The dispatcher reads inbound messages across every connected channel, holds the conversation, works out the task and the budget, and hands sales a qualified lead. Your manager can take the conversation over at any point with one button.

Inbound channelStatus
VKlive
Avitocode ready, awaiting access
Telegram, MAXweeks away
WhatsApp Businessweeks away
Instagram DMweeks away
Website chatweeks away
Comments under postsweeks away

The dispatcher starts in shadow mode: for a week it drafts replies and a human sends them. You watch it handle real conversations, then decide whether it answers on its own. That step does not reverse, so the call stays yours.

Paid

We promote what already worked for free

The console sees which post earned attention and proposes putting money behind that one. Paid stops being a separate job started from scratch and becomes a continuation of the content.

Accounts in one place

Campaigns, bids and spend sit next to the content instead of across four tabs.

Advisor

It proposes where to add, where to cut, and what to stop. A human confirms.

Kill switch

Spend past a threshold stops the campaign without waiting for anyone.

Legal disclosure

Required labels and disclosures go on automatically, following the rules of the country where the ad runs.

Analytics

Post, click, conversation, revenue

Every link carries its own tag, our redirect counts the clicks, the dispatcher reports the conversations, and your site posts back the orders. The result: each post shows the money it made, not the likes it collected.

Postwhat went out
Clickour own redirect
Chatthe dispatcher
Revenueorders from your site

Once that chain closes, the console starts learning on your audience: it remembers that a high-scoring topic produced a weak post and scores differently next time. Learning from likes teaches nothing, so it only switches on after revenue arrives.

Boundaries

What the console will not do without you

One door out

Every publication passes through a draft and an approval. No second path to the platform exists in the code.

Shadow by default

The dispatcher starts by drafting replies. You turn on auto-reply, and not before you have watched it work.

Data stays apart

Each client lives in a separate contour: own keys, own database, own channels.

Sensitive topics

Tragedy, health, politics: the console strips the playful angles itself and never offers them.

Engineering

Why this holds twenty channels

One adapter per channel

Every platform lives in its own file with the same set of duties and passes the shared test suite. A broken channel stays broken alone.

A durable queue

Jobs live in the database, not in memory. Restarting the service loses nothing and duplicates nothing.

767 automated tests

Checks run on every change, and again on the server before a new version goes live.

An open seam

Webhooks and n8n scenarios connect whatever the console lacks, without waiting for our next release.

One adapter per channel is not architectural decoration. While publishing lives in a single block, any change made for one platform touches all of them, and there is nowhere to hang a test.

Straight

What runs today, what opens next

Live now

TelegramVKMAX OdnoklassnikiQueue and retries Approval gateAds Tags and clicksDispatcher: VK

Coming weeks

LinkedInBlueskyMastodon XFacebookInstagram YouTubeAvito Site and articlesVideo

We show that split on purpose. Selling unbuilt work as finished costs more than naming a date, because a live demo exposes the difference in about a minute.

Next

Let us run it on your channels

We connect your platforms, run the radar on your topic, and build the first post with you watching, approval included. The dispatcher goes into shadow mode: for a week you read its drafts against real conversations and then decide whether it replies on its own.

Each client's data lives in its own contour and never mixes with another's.

Swipe up