2TInteractive/ apps

Media & publishing · 2TInteractive

2TI PulseCast

One master. Every channel. Your sessions, your machine.

PulseCast is a native publishing studio for creators, agencies and media teams who ship the same asset to many platforms. It prepares the file, adapts the copy per platform, drives the browser sessions you already own, and reports how each post performed against your own baseline. Sessions are encrypted and bound to your machine; media never leaves your workstation.

Pilot · pack selectors pending live validation$12/mo · 30-day full evaluation
2TI PulseCast product mark: interwoven orange and azure ribbons around a telemetry dial
Product identity. Interface captures are published below.

Why this is an app, not a platform

The credentials stay on your machine.

What the pilot build is designed to do

One master, many channels

Write the title and body once. PulseCast checks every selected platform's limits before it queues, then adapts the copy per channel on request. A 20-character Douyin title no longer lands in a 100-character YouTube field.

Sessions you actually own

Sign in on the platform's own page in a real Chrome window. The session is sealed with AES-256-GCM under a key bound to this machine, the temporary profile is deleted, and every run replays it into a throwaway profile. No cookie file to leak, no password stored.

Approval before publish

Automation fills the form, then stops. The job waits in awaiting_gate with the browser open while the operator approves or declines in the app. Only a channel explicitly marked auto-publish skips the gate.

Packs, not fragile scripts

Each platform is a versioned, reviewable JSON flow. A console change ships as a pack update; a selector that disappears is healed once from the accessibility tree, then parked for review.

Evidence, not optimism

A job counts as published only when the platform returns a receipt — a post URL or id. A submission whose outcome is uncertain is parked for a human and never retried into a duplicate post.

Telemetry that means something

PulseCast reopens each post at 1h, 6h, 24h and 7d, records views, likes, comments and shares, and compares view velocity with the channel's own earlier posts. No industry averages, no invented numbers.

From the first task to your daily routine

The gate, the failure policy and the harvest window.

Three decisions shape how PulseCast behaves when a publish does not go to plan.

01

The publish gate

Automation fills the form, then stops. The job enters awaiting_gate with the browser open, and the operator approves or declines in the app. The gate is the product's most important safety property: a script never decides that a draft is ready for a client's channel.

Applies to every channel unless it is explicitly marked auto-publish.

02

A failure is classified before it is retried

Transient and rate-limited failures back off with jitter and bounded attempts. Authentication, captcha and SMS hand the job to the operator. Selector drift heals once from the accessibility tree, then parks for review. A submission with an uncertain outcome is never retried automatically.

A second post is worse than a late one.

03

Harvest windows, not vanity dashboards

Every publish opens a telemetry window at 1h, 6h, 24h and 7d. Views, likes, comments and shares are recorded against the channel's own baseline, so a post is judged against that account's earlier posts rather than a generic benchmark.

Telemetry packs ship for YouTube and TikTok; other platforms record the receipt and mark the window as skipped instead of inventing numbers.

Availability

Your next step starts here.

Status

Pilot programme: pack selectors are written against the 2026-11 consoles and have not been exercised against live accounts. No public installer is listed while the YouTube and TikTok packs are validated with pilot operators.

No validated installer is listed yet. Please check back for release details.

Linux first: Rust 1.80+, Node 20+, WebKitGTK 4.1 and a system Chrome or Chromium install. The .deb targets libwebkit2gtk-4.1-0, libssl3 and libgtk-3-0. macOS and Windows targets are wired in tauri.conf.json and have not been built.

Pricing

$12/mo · 30-day full evaluation

Priced per operator, not per post: channels, brands and seats define the tier, while media size, post count and pack updates are never metered. Caps are advisory during the pilot — the portal lease does not yet carry channel, brand or seat claims, so the tier is a label rather than an enforced limit. Pilot invitations are free for ten agencies while pack selectors are validated against live consoles.

Request a licence →

Pilot notes & setup

What to check before the first publish.

App-specific guides are being prepared.

Visit the knowledge base →

Status matrix

What works today, and what is next.

CapabilityState
YouTube · video, shortAutomated Studio create flow; receipt from /video/<id>
TikTok · videoAutomated Caption from title and hashtags; cover and sound chosen by the operator
X · video, imagesAutomated Composer with stable data-testid hooks
Douyin · video, 图文Automated Selectors ported from the upstream 2026-06 DOM
Xiaohongshu · video, imagesAutomated Success is the platform's /publish/success route
Instagram · reel, carouselAssisted Five-step modal; the operator finishes
LinkedIn · video, imagesAssisted Waits for server-side video processing
Facebook / Page · video, imagesAssisted Composer differs per profile
Bilibili · videoAssisted Web flow staged; upstream uses biliup
Kuaishou · videoAssisted Cover and declaration steps change often
WeChat Channels · videoAssisted 6–16 character titles; scan per device
Baijiahao, Dayu, Alipay, Weibo, Hupu, Xueqiu, ZhihuAssisted Staged, then confirmed by the operator
Selectors against live consolesNot validated Written against the 2026-11 consoles; first publish per platform should run with the gate on and a headed window.
Telemetry harvest windowsPartial Packs ship for YouTube and TikTok; every other platform records the receipt and marks the window as skipped.

Before you install

Sessions, the gate and pricing.

Does PulseCast need my passwords?

No. Sign-in happens on the platform's own page and PulseCast only receives the resulting session, which it encrypts immediately. There is no credential store to breach and no password field in the app.

Where do my videos go?

Nowhere. Media stays on your machine and is handed to Chrome through the page's file input. PulseCast has no upload service and no storage to leak.

What happens when a platform changes its console?

The pack fails at a specific step with a screenshot and an event trail. If a local model is running, PulseCast tries to heal the selector from the accessibility tree first. A permanent fix ships as a pack update.

Can I publish without clicking anything?

Only per channel. Auto-publish is an explicit channel setting, off by default, and the interface warns while it is on. The publish gate is the default because no script should decide a draft is ready for a client's channel.

Does it work with my agent?

Yes. The binary is a stdio MCP server (2ti-pulsecast --mcp) exposing seven pulsecast_* tools, and 2TI Launcher can grant five scoped tools over a private Unix socket. The Launcher asks the operator to grant each scope.

What about Chinese platforms?

Douyin, Xiaohongshu, Kuaishou, Bilibili, WeChat Channels, Baijiahao, Dayu, Alipay, Weibo, Hupu, Xueqiu and Zhihu are modelled as first-class packs, including 图文 posting where the platform supports it. Selectors follow the upstream 2026-06 DOM and have not been exercised against live accounts in this build.

Let’s get you started

Make 2TI PulseCast part of your day.

Explore the setup guides, check the current release, or talk to us about fitting this workspace into your day.