/features

Twelve primitives.
One agent.

Pulse ships with the building blocks operators actually need — no fluff, no roadmap promises, no enterprise checkboxes you'll never use.

Source memory

Every Reddit source is hashed, banked, and tracked from banked → exhausted. Nothing gets republished.

Angle banking

OpenAI extracts multiple atomic angles per source. Pulse reuses ready angles before fetching anything new.

Per-platform drafts

Threads, Instagram, LinkedIn, Facebook — each gets copy tuned to its native voice and length.

Generated imagery

DALL·E generates an Instagram image only when Instagram drafting is enabled. No wasted tokens.

Fixed slot queue

Four named slots — s1, s2, s3, s4 — fire at 5am, 7am, 12pm, 3pm. Predictable cadence, no drift.

Partial-failure retry

If three platforms ship and one fails, Pulse keeps the slot and retries only the missing platform.

Content hashing

Sources are deduped on title + selftext + url hash. Edits to the same post don't re-trigger drafts.

OpenAI native

Drafting, extraction, image prompting — all backed by the model of your choice via standard API key.

Live runtime log

150 newest log lines streamed through /api/logs. Operator-grade observability without a SaaS.

Manual override

Edit any slot via PUT /api/slot. Discard or release angles back into the bank with one DELETE.

CLI parity

fetch, queue, status, memory, history, post-now — every operation works from the command line too.

Local-first storage

Queue, history, and memory persist as plain JSON. Inspect, back up, version-control as you wish.

/transparency

What Pulse doesn't do.

We document the absence as carefully as the presence. If you need any of these today, Pulse is not the right fit — and we'd rather you know now.

×Multi-tenant orgs or workspaces
×Server-side roles or RBAC
×Server-side approval flows
×Inbound or outbound webhooks
×Database-backed persistence
×Health or metrics endpoints