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 monitors 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, but hand-curating and posting deals every day does not scale and does not survive a busy week. Nidopr needed a social channel that picks the right listing, writes a correct caption, never leaks a customer to a competitor, publishes on schedule, and tells someone when it stops working — without a person in the loop.

Build

The data picks the deal. The engine reuses Nidopr’s own below-market “heat” scoring, so the listings it promotes are 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 resolved it by broadening categories — a deliberate fix to the underlying cause rather than a workaround.

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 is visible on a Social dashboard tab that logs each post and each skip with the reason. A shared invariant battery is run three ways, and liveness alerting is schedule-aware — so if posting stalls, the system flags it instead of going quietly dark. A kill switch and token hygiene round out 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 is not 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 senior / lead data & AI roles, and to Vizlogic consulting engagements.