COVERAGE
4 default. 2 SEO. 2 video. 8 more wired.
Springy ships 16 platforms in five readiness tiers. The default cascade fans out one anchor essay into four text platforms — LinkedIn, X-thread, Threads, Bluesky. SEO and video tiers are opt-in; publish-only and browser-fallback platforms are useful as delivery targets but treat them as experimental.
Default cascade
4 platformsRuns on `cascade --top` with no flags. Generator + API publish + critique loop wired. The four-text default.
| Platform | Publish method | Auth / setup | Notes |
|---|---|---|---|
| API | OAuth 2.0 | 150–300 words ideal | |
| X (Twitter) | API | OAuth 2.0 PKCE | 5–8 tweet thread |
| Bluesky | API | App password | ≤300 chars/post; easiest first platform |
| Threads | API | Meta Graph API | Meta dev-app required |
SEO opt-in (--seo)
2 platformsLong-form generators that run only when you pass `--seo`. Adds Medium + Dev.to to the fan-out.
| Platform | Publish method | Auth / setup | Notes |
|---|---|---|---|
| Medium | API | Integration token | Long-form draft; runs with --seo |
| Dev.to | API | API key | Markdown + tags; runs with --seo |
Video opt-in (needs MP4)
2 platformsGenerators draft script + caption. The video renderer is on the roadmap — for now, you place an MP4 alongside the draft and opt in via `--platforms reel,tiktok`.
| Platform | Publish method | Auth / setup | Notes |
|---|---|---|---|
| Instagram Reel | API + Browser | Meta + browser fallback | Caption + hero generated; you bring the MP4 |
| TikTok | API | Content Posting API | Caption + script generated; you bring the MP4 |
Publish-only (no generator yet)
5 platformsAPI or webhook publishers exist. No native cascade generator yet — useful as a delivery target for hand-written content or cascade output you adapt manually.
| Platform | Publish method | Auth / setup | Notes |
|---|---|---|---|
| Discord | Webhook | Channel webhook URL | Webhook posts only |
| API + Browser | OAuth + RSS + Playwright fallback | Subreddit per draft | |
| API | OAuth 2.0 | Lightly tested | |
| Telegram | API | Bot API | Channel broadcast |
| YouTube | API | Google OAuth | Description + thumbnail only; you bring the video |
Browser fallback (experimental)
3 platformsPublishes via Playwright (no public API). Works, but flakier — may require an interactive `springy browser:login <platform>` and occasional captcha intervention.
| Platform | Publish method | Auth / setup | Notes |
|---|---|---|---|
| Substack | Browser | Browser session | Auto-publish; subscriber-email send is manual |
| Rumble | Browser | Browser session | Mirror-of-YouTube; needs MP4 |
| Quora | Browser | Browser session | Value-first answers; manual reframing per question |
API-first, browser fallback when there isn't one.
Where a platform exposes a usable API, springy uses it — faster, more reliable, better error handling. Where it doesn't (Substack / Rumble / Quora / Instagram Reel), springy uses Playwright to drive a real browser session you logged into once via springy browser:login <platform>. Session cookies are stored at 0o700 under config/.browser-data/.
What's NOT shipped yet
- Reel / TikTok video rendering. Generator drafts the script + caption; you provide the MP4. Remotion + ElevenLabs render path is on the roadmap.
- Automated per-platform engagement polling. Schema and decay logic exist; the poller doesn't.
springy engage collectworks manually for LinkedIn / Bluesky / Reddit. - Hosted/brokered OAuth as the default. Nango broker is opt-in (
SPRINGY_AUTH_BROKER=remote); most platforms still require a per-platform developer-app registration today.
Want a platform that isn't here?
Two paths, in order of how much time you want to spend:
- File a platform-request issue. Include a link to the API docs, the auth model (OAuth / API key / browser only), and whether you'd want to use it yourself.
- Write a plugin. Most simple text-posting platforms are 150-200 lines: a client, a setup flow, and a publisher. The plugin interface is documented, and
plugins:new <name>scaffolds everything.