← back to work2024–2026
shipping
PostPilot
Pluggable creator-ops platform
PythonProtocol contractsYouTube APITelegramOllama
$ postpilot --status
runningn × n plugin runtimeProtocol contracts
queue sourceNotionlive
queue sourceGoogle Drivelive
approvalTelegramlive
publisherYouTubelive
publisherFacebook Reelslive
publisherTikTokplanned
tts/renderOllama + edge-tts + ffmpeglive
contracts · QueueSource · Publisherworker daemon · python
─── 01
n × n plugin runtime
A pluggable creator-operations platform. Every integration plugs in through a small set of Protocol contracts — QueueSource, ApprovalTransport, Publisher, AnalyticsProvider. Pipelines compose from interchangeable parts.
Drop a video into a watched folder with metadata → PostPilot handles auth, scheduling, optional approval gating, publishing, and post-publish analytics.
─── 02
Status matrix (current, real)
- Queue source — Notion (live), Google Drive (live v1), Sheets (planned).
- Approval transport — Telegram (live), Slack (planned), no-approval (live).
- Publisher — YouTube scheduled (live v1), Facebook Reels (live), TikTok + Instagram Reels (planned).
- TTS / Render — Ollama + edge-tts + ffmpeg (live, optional). Drive-video path skips this.
─── 03
What I learned
- Protocol-first architecture pays off at the third integration. First two feel like overkill; third becomes trivial.
- State machines beat ad-hoc flags for resumable workflows. Operators interrupt approval all the time — the run has to wake up where it left off.
- Authentication is the real integration cost. OAuth flows for YouTube + Facebook + Notion + Drive each evolve on the provider’s schedule, not yours.
- Local-first TTS + render is good enough for short-form. Ollama + edge-tts + ffmpeg produces publishable output without a Replicate bill.
