This is generate, then validate. An LLM drafts captions from a brief plus the live menu, in the right voice — Eleanor for food, Tommo for drink, neutral for house updates; a scheduler lays them across the week's cadence; and a thin brand-drift guard reads every draft before it can queue. The guard diffs each caption against the menu data and the brand-voice rules: every dish and claim must actually exist, banned words and invented ingredients are caught, and anything unverified is held — not posted, not silently dropped — for a person to see. The honest scope: the generation and scheduling here is what cheap off-the-shelf tools (Canva, Buffer, Copy.ai) already do well. The one piece worth building is the menu-aware guard, because that is what nobody sells and what keeps a hallucinated dish off the grid.
On the roadmap
- Image generation, not just a brief. Today the agent writes the image brief and a human makes the picture. Next, generate a usable hero from the brief for a few cents — but run it through the same guard, because a wrong food image is exactly the trust problem Zomato hit when it banned AI menu pictures.
- Answer in the guest's language. Captions in English and Mandarin to start, then Bahasa Melayu and Tamil, so the same post reaches the whole room — the guard checks every language version, not just the English.
- Let performance steer the cadence. Feed back which posts actually landed, so the scheduler learns that Tommo's beer-with-the-duck angle outperforms a straight dish shot, and weights the week accordingly.
- One guard, every channel. The same menu-aware validation should sit behind the review-response drafts and the website copy too — one source of brand truth, re-indexed whenever the canonical menu or persona set changes.
- The gate doesn't move. Every caption stays human-approved and every block is logged for the quality layer, so the safety net — the held pavlova — is auditable, not merely asserted. The agent can propose; it cannot post.