[verdetto][prompt curato][fonte: postiz.com]
Posso vibecodare Postiz?
// si costruisce in un weekend, ma restano buchi veri
Il core loop è one-shottabile sui network con API aperte come Mastodon, Bluesky e Telegram. Non lo è il motivo per cui gli scheduler esistono: le app OAuth di Instagram, LinkedIn, TikTok e X vanno approvate o pagate, e tenerle in vita è manutenzione permanente. Postiz è open-source: la mossa DIY onesta è self-hostarlo.
confidenza: alta
cos’è: Scheduler social per oltre 28 canali, con assistenza AI e funzioni per i team
Indice di costruibilità · gioco editoriale
- Prezzo 29 $/mese peso: più 3
- Tempo più giorni peso: più 1
- Categoria social media non pesa
- Moat integrazioni · collaborazione peso: meno 2
- Confidenza alta peso: più 1
- Cosa perdi 6 voci peso: meno 3
- Sito postiz.com (si apre in una nuova scheda) non pesa
Si pareggiano. È il caso in cui decide quanto ti sta antipatico l’abbonamento.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
Cosa costruisci
Scrivere i post dentro una coda a slot, pubblicarli secondo programma sui network con API aperte tramite adapter dedicati, e registrare gli esiti.
cosa ti serve
- accesso OAuth/API per ogni social network
- una macchina sempre accesa per lo scheduler
- un database
- storage per i media
Caso raro in cui il SaaS è il prior art di sé stesso · self-hostalo invece di ricostruirlo.
Il prompt
Un weekend con un agente di coding. I buchi che restano sono qui sotto, in «cosa perdi».
Build me a personal social post scheduler to replace Postiz. Requirements:
- Node + Express + better-sqlite3; a localhost page with a compose box,
image attach, and the queue ordered by send time.
- Three targets: Mastodon (access token), Bluesky (app password via
@atproto/api), and a Telegram channel (bot token). Creds in .env, one
small adapter file per network so a fourth is addable later.
- Slot-based queueing: I define posting times per weekday in my timezone
and new posts fill the next free slot; a post can also be pinned to an
exact datetime or duplicated across networks with per-network text.
- A node-cron tick every minute publishes due posts, marks each row sent
or failed, retries failures 3 times with backoff, and marks before
sending so nothing ever double-posts.
- Per-network character counter in the composer; attached images stored
in media/ next to the database, resized to each network's limits with
sharp.
- A history page of the last 100 sent posts linking to the live posts.
- Runs on my always-on box; localhost only, no accounts, no telemetry.
- Out of scope: Instagram, LinkedIn, TikTok, and X (approval-gated or
paid APIs, say so in the README), analytics, teams, and AI features.
- README: getting a Mastodon token, a Bluesky app password, and a
Telegram bot token. Prompt curato: scritto e rivisto a mano per questa app. In inglese di proposito — è la lingua in cui gli agenti di coding rendono meglio.
Cosa perdi
- oltre 28 integrazioni di canale mantenute
- le app OAuth già approvate dalle piattaforme (Instagram, LinkedIn, TikTok)
- le anteprime dei post per ogni network
- le analytics
- le approvazioni di team e la collaborazione
- l'assistenza AI sui contenuti
Perché pagano ancora
La versione in hosting arriva con le app OAuth già approvate dalle piattaforme, quindi collegare Instagram, LinkedIn o TikTok è un clic invece che una revisione della developer app. Le API social si rompono e cambiano condizioni di continuo: pagare significa dare in outsourcing quella manutenzione, più analytics, team e funzioni AI.
moat: Integrazioni Collaborazione cos’è un moat
manutenzione delle API e delle integrazioni social
Alternative gratuite
Non hai voglia di costruirtelo? Queste esistono già, sono gratis o open source, e le abbiamo controllate una per una.
Chi l’ha già costruito
Partire da qui è vibecoding lo stesso: il prompt serve quando lo vuoi esattamente a modo tuo.
- Postiz (open source) (si apre in una nuova scheda) — The app itself is AGPL open source and self-hostable, which is the shortest path to the full feature set. (alive)
Sei d’accordo?
La bilancia dei voti
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.