AutomationML/AIProductOps

Private demo, walkthrough on request

Facebook auto-poster: autonomous marketing engine

A marketing channel that runs itself. The data finds the deal, writes the post, safety-checks the photo, publishes, and watches its own health.

Nido PR · Facebook
Facebook auto-poster: autonomous marketing engine preview
Autonomous marketing engine, part of Nidopr; walkthrough on request.
7 / dayautonomous posts at peak hours
3deal categories rotated, oldest-first
30-dayper-listing cooldown
100%of photos OCR'd for phone-number safety

Problem

A real-estate marketplace needs a steady marketing presence. Hand-curating and posting deals every day takes too much time, and it falls apart the first busy week. Nidopr needed a social channel that could run without a person watching it: pick the right listing, write a correct caption, never leak a customer to a competitor, publish on schedule, and speak up when it breaks.

Build

The data picks the deal. The engine reuses Nidopr’s own below-market “heat” scoring. The listings it promotes get chosen by the same signal that ranks deals on the site, not by a manual queue. It rotates three categories (below-market sale, rent, and Section 8), oldest-first, with a 30-day per-listing cooldown so the feed stays fresh and nothing repeats.

It adapts instead of forcing output. When supply ran thin against the posting schedule, the engine diagnosed the dry spell as a real supply-vs-schedule gap and broadened the categories to cover it. That fixed the cause, not just the symptom.

Photo-safety guard (OCR). Before publishing, the engine OCRs each candidate photo. A single phone-number watermark condemns the whole listing. The system refuses to send a post that could route a caller to a competitor, and it never falls back to an unsafe image.

Spanish captions from structured data. Captions are generated from the listing’s structured fields, with unit-correct sizes and a deep link back to the property, so the copy is always accurate to the record.

It watches itself. Every run shows up on a Social dashboard tab that logs each post and each skip with the reason. A shared invariant battery runs three ways, and liveness alerting is schedule-aware. If posting stalls, the system flags it instead of going quietly dark. A kill switch and token hygiene cover the rest of the operational controls.

Numbers

  • 7 posts/day at peak hours, published as proper timeline feed posts via the Meta Graph API.
  • 3 deal categories rotated oldest-first, with a 30-day cooldown per listing.
  • OCR photo-safety guard on every post. One phone-number watermark rejects the listing.
  • Self-monitoring: per-post / per-skip logging with reasons, plus schedule-aware liveness alerts.

Reusable for clients

The engine isn’t Nidopr-specific. The same pattern (data-grounded selection, generated copy, a safety guard, scheduled publishing, and self-monitoring) applies to e-commerce deal feeds, inventory clearance, job boards, and event promotion.

Stack

Python, the Meta Graph API for publishing, tesseract for the OCR photo-safety guard, and Nidopr’s existing below-market heat engine as the deal-selection signal.

Stack

PythonMeta Graph APItesseract (OCR)Nidopr below-market heat engine

← All work

Have data? Let’s make it think.

Open to Data & AI technical-lead and leadership roles, and to Vizlogic consulting engagements.