/ at a glance /
3
social destinations published in one run (IG + 2 FB pages)
Measured · internal€0
AI-video spend per reel — rendered locally with ffmpeg
Measured · internal15 min
queue poll interval, past-due rows auto-catch-up
Measured · internalHourly
independent watchdog checks catching silent failures
Measured · internal/ what we built /
The agent authors the day’s Romanian captions, food/promo content and Wolt offers from a brand-context file, then writes each post as a row into a Google Sheet queue.
Self-hosted workflow that polls the queue every 15 minutes and fans a single row out to Instagram and both Facebook pages, writing links and status back.
Mirrors each Drive asset to a public R2 bucket so Meta’s API gets a fetchable HTTPS URL.
Renders Ken Burns food reels locally from full-res stills with royalty-free music, at zero AI-video cost.
A VPS-side cron that reads the queue hourly, independent of n8n, and pings Discord on stuck or errored rows — silent when healthy.
Webhook-triggered wrapper that keeps website menu prices in sync from a single Google Sheet source of truth.
in-progress/ the moment it clicks /
A Google Drive node silently emitted zero items on a 404, so failed posts vanished and rows retried forever while runs looked green. The fix: force a binary-less item out on failure, then branch on binary presence to flip the row to ERROR — turning a silent, self-hiding failure into a caught, alertable one.
/ tech stack /
Built to be owned.
Skills shown