Inspiration
Every hackathon demo video looks the same - generic AI-written scripts that sound nothing like the person who built the project. I wanted a tool that could turn a short description into a TikTok-ready video, without producing the kind of hollow, cliché-filled content that's obviously AI-generated.
What it does
You type a short description of a project. A two-pass Gemini system (writer, then critic) drafts a script and checks it against a grounding rubric - if a claim isn't traceable to what you actually wrote, it asks a follow-up question instead of inventing details. A separate filter checks the wording itself for AI-cliché phrasing. The approved script gets rendered into a narrated video or a photo carousel. Publishing (to TikTok, via Zernio) is deliberately kept out of the web UI - it's a CLI-only step gated by a push notification to my phone, requiring manual approval before anything goes out.
How we built it
Gemini API powers the two-pass writer/critic script generation A deterministic style filter (regex-based, not another AI call) catches stock AI phrasing ffmpeg renders narrated video or photo carousels Zernio API handles publishing to TikTok as a private draft ntfy delivers the phone-approval push notification
Challenges we ran into
Couldn't get a paid Anthropic API key partway through (needs a credit card I didn't have), so I switched the entire backend to Google's free Gemini tier mid-build. Found a real bug while integrating Zernio's API: a field (tiktokSettings) was nested in the wrong place in the request, which could have silently let a private draft publish publicly instead of staying private. Caught and fixed it before any real exposure. The anti-slop critic is tuned maximally cautious - a single ungrounded claim blocks the whole script, even if the rest is fine. That's the right default for a tool that publishes, but it means a legitimate prompt can occasionally need a follow-up question before it succeeds.
Accomplishments that we're proud of
The full pipeline is verified live, end to end - not just tested in theory: script generation, the anti-slop refusal path, the style filter, video and carousel rendering, the phone-approval gate (both approve and deny-on-timeout), and publishing to TikTok all ran successfully against real APIs. Found and fixed a real security bug (the tiktokSettings placement issue) before it ever caused a public post - confirmed no exposure happened by checking my TikTok profile directly. Publishing is deliberately operator-only and gated by manual phone approval - a stranger using the public demo can never make content actually go out.
What we learned
The biggest lesson was that safety has to be designed in from the start, not bolted on later. I also learned that stopping an AI from sounding generic is a genuinely different problem from stopping it from inventing facts - they needed two separate checks, not one.
What's next for text2postAgent
Extending script generation to handle general concept explainers, not just "describe what you built". Support for publishing to additional platforms beyond TikTok (Zernio already supports several). A job-queue system so the phone-approval wait doesn't hold the browser connection open.
Log in or sign up for Devpost to join the conversation.