Set a new password

Choose a new password for your account.

{{ auth.error }}

{{ auth.notice }}

Sign in to LCNCagents

Your build-in-public distributor.

Enter your email and we'll send a link to set a new password.

{{ auth.error }}

{{ auth.notice }}

The distributor

Approval mode: {{ settings.approval_mode === 'autopilot' ? 'Autopilot' : 'Approval required' }}

{{ banner }}

Get your first post out

Four steps from here to a published update. Each ticks off on its own as you go.

{{ obDoneCount }}/4
  1. {{ s.n }} {{ s.label }}

All four done — you're shipping.

Setup {{ obDoneCount }}/4 · next: {{ (onboardingSteps.find(s => !s.done) || {}).label }} · all done

Captures

Moments from your work that may be worth sharing.

No captures yet

Captures are the moments worth sharing — pulled from your repo's commits and releases, or added by hand. Connect a repo and sync to fill this in.

{{ c.raw_text }}

{{ c.source }} · {{ fmt(c.captured_at) }}

{{ c.processed ? 'processed' : 'pending' }}

Milestones

Captures rolled up into stories worth telling. Turn one into a short post, or group several into a long-form story.

No milestones yet

Milestones are captures grouped into stories worth telling. They appear on their own as captures come in (the tick runs every 15 minutes). Add a repo or a capture to get the first one.

{{ m.title }}

{{ m.description }}

Drafts

Telegram auto-posts for real when a channel is connected. Every other channel is one-click copy-to-post — nothing is ever posted there on your behalf.

No drafts yet

Drafts are ready-to-post updates written from your milestones. Open a milestone and generate a post, then approve it here and publish.

{{ platMeta(d.primary_platform).label }} {{ platMeta(d.primary_platform).real ? 'Auto-post' : 'Copy to post' }} {{ statusMeta(d).label }} view post

{{ d.content }}

Last attempt: {{ targetOf(d).error }}

Connect a Telegram channel in Settings to auto-post this.

Progress

No progress digest yet

This scores what you got done over a period and writes a shareable summary. Generate one once you have a few captures and posts.

★ Best {{ latestDigest.period_type }} yet
{{ Math.round(latestDigest.score || 0) }}

progress points · {{ digestTrend() }}

{{ (latestDigest.metrics && latestDigest.metrics[mk[1]]) || 0 }}
{{ mk[0] }}

{{ latestDigest.summary }}

{{ v[0] }}

{{ (latestDigest.audience_variants && latestDigest.audience_variants[v[1]]) || '' }}

Settings

Connect a code repo

Step 1 — start here

Pull your recent commits and releases in as captures, then group them into milestones with a post waiting on each. Manual sync for now. Nothing happens until a repo is connected.

Your repo is remembered, so each sync only pulls what's new since last time.

Approval mode

Choose whether drafts wait for you, or go out automatically.

Approval required is the safe default. Turn on autopilot only when you trust the drafts.

In autopilot, approved drafts auto-post to Telegram only. X, LinkedIn and the rest are auto-approved and queued as copy-ready — you still post those yourself in one click.

Connect Telegram

Telegram is the only channel with a real auto-poster. Add your bot to the target channel as an admin, then paste the channel id or @username below.

Public channel: use @username. Private channel/group: use the numeric chat id (starts with -100). Leave blank and Save to disconnect.

Channels

Where approved drafts go. Only Telegram auto-posts; everything else is one-click copy-to-post.

  • {{ p.name }} {{ p.connected ? 'Auto-post connected' : (p.name === 'Telegram' ? 'Auto-post — not connected' : 'Copy-to-post') }}

Live data from your account. The distributor tick runs every 15 minutes.