Posutte - Automated Social Ad Generation & Posting for Local Businesses
A store owner sends a photo, and the system automatically generates an ad image and caption, then schedules the post to Instagram. Uses OCR + VLM fact-checking, with security CI built in. An in-house product.
Duration
In-house product
Team
1-2 people
01 // OVERVIEW
Project Overview
An in-house social media ad automation service for restaurants and retail stores. Store owners simply send a photo, and within seconds gpt-image-2 generates an ad image with a caption, which is then automatically scheduled and posted to Instagram. Generated images undergo fact-checking by cross-referencing OCR-extracted text with the original photo via a VLM, preventing posts with incorrect information. The repository has CI built in with gitleaks, semgrep, and trivy.
02 // KEY FEATURES
Key Features
Photo to ad image and caption generation
Generates an ad-ready image from a photo submitted by the store owner using gpt-image-2, along with a matching caption. Designed to generate copy tailored to the store based on information from the store_brief (store profile sheet).
Fact-checking via OCR and VLM
Built-in pipeline that reads the text in the generated image via OCR and cross-references it against the original photo using a VLM to verify factual accuracy. This prevents posts where prices or product names are misrepresented.
Built-in security CI
CI (GitHub Actions) built into the repository with gitleaks (secret leak detection), semgrep (vulnerable code pattern detection), and trivy (dependency vulnerability scanning). Complies with security-kit standards, with ASVS L1 check records also kept in docs/security/.
03 // TECHNICAL DEEP-DIVE
Technical Highlights
Solution
Limiting the store owner's task to just sending a photo
All work - writing ad copy, scheduling posting times, and selecting hashtags - is handled by the system, so the UX is designed so the store owner only needs to send a photo. Scheduled Instagram posts are processed by worker.py via a cron job every 5 minutes.
04 // IMPACT & RESULTS
Results
Tens of seconds
From photo received to ad image generated
Fact-checked
OCR + VLM automatically verifies generated content
Built-in CI
Security checks built into the repository