How Coding Kitty built a video publishing engine
Sameer Ali automated 15-20 minutes of post-production busywork per video by wiring Buffer's API into a custom desktop app. Here's how the pipeline works.

Sameer Ali is a developer and content creator who publishes coding content across Instagram, TikTok, and YouTube as coding.kitty. When he got tired of the 15-20 minutes of busywork that followed every finished video, he did what he does: he built an app to eliminate it. What he built, and the specific architectural choice he made in the middle of it, is worth studying if you're thinking about how distribution actually gets done at scale.
Sameer Ali built a custom desktop app called the coding.kitty engine that handles his entire video production pipeline from ideation through scheduling and analytics. For the cross-platform publishing layer, he used Buffer's GraphQL API instead of building native integrations himself. The result: a single video goes from "ready to schedule" to published across YouTube, Instagram, and TikTok in about two minutes.
The 15-20 minute tax that kicked this off
Before coding.kitty, every finished video meant downloading the file, re-uploading to each platform, rewriting captions with the right character limits and conventions per platform, setting metadata, scheduling the post, and manually updating his project board. Multiply that by three platforms, multiply that by however many videos he's producing per week, and it's a real number of hours that disappear into pure logistics.
The coding.kitty engine changed that. It covers ideation, scripting, subtitling, scheduling, and analytics. The part Sameer didn't want to build himself was the actual publishing layer.
Why he chose not to build the integrations himself
This is the interesting decision. Sameer is a full-stack engineer. He could have gone directly to the native APIs for Instagram, TikTok, and YouTube. Instead, he used Buffer's API.
The reason is worth quoting directly: building the native integrations would have meant three separate OAuth flows, three different upload mechanisms, three sets of rate limits, and a custom scheduler service to keep everything running on time. In his framing, it was building a whole product on top of the product he was already building.
Buffer reduced that to one GraphQL API and one auth flow. He could pass YouTube titles, privacy settings, categories, Instagram Reel vs. post type, first comments, and TikTok titles through a single mutation. The full integration took a few days.
"I want a guarantee that my posts will be posted at the specified time," Sameer says. "Buffer handles the scheduling part reliably, and I can see everything in a calendar view."
The GraphQL schema gave him everything in one place: create, delete, fetch posts, fetch channels, no endpoint stitching required.
What the actual workflow looks like
The pipeline kicks off when a video gets marked "ready to schedule" in Jira. From that trigger:
- The coding.kitty engine picks up the ticket automatically, downloads the subtitled video from the Jira attachment, and resizes it to Instagram Reels' vertical format.
- The resized video uploads to Sameer's cloud storage and becomes accessible via a public URL.
- Sameer selects target platforms, generates a platform-specific caption (his built-in AI handles character limits and conventions per platform), and scrubs through the video to pick a thumbnail frame.
- coding.kitty fires Buffer's
CreatePostGraphQL mutation with the video URL, caption, thumbnail, and all platform-specific metadata. - Buffer fetches the video from R2, queues it for publishing, and the Jira ticket auto-transitions to the next column.
Two minutes, start to finish.
Rewriting the same message three times with different constraints is exactly the kind of task that compounds into real time loss. Having the model understand that Instagram caption conventions differ from TikTok's, and pre-generating accordingly, removes that rewrite loop entirely.
The calendar layer and the scheduling agent
Sameer also built two additional features that sit on top of the Buffer integration.
First, coding.kitty pulls scheduled posts back from Buffer to render its own calendar view. He can spot gaps, avoid posting conflicts, and reschedule by dragging posts around without leaving the app. The calendar is now a single source of truth rather than a secondary reference he has to cross-check against the native Buffer interface.
Second, he built an AI agent that handles the publishing decision itself. Because coding.kitty has access to recent post history and the full queue of videos ready to go, Sameer can hand off the decision of what to publish when entirely to the agent. It checks what's been posted recently, evaluates the queue, and makes the scheduling call.
For any founder or operator building content into a pipeline, that last piece matters. The scheduling decision is often made manually, which means it's subject to context-switching and cognitive overhead. An agent that has full context over the queue and recent performance removes a small but recurring decision from Sameer's plate entirely.
What this means for operators thinking about distribution
We've written before about how founders building on LinkedIn get more leverage from consistency than from individual post quality, and about how reducing the time cost of engagement is what makes a 10-minute-a-day strategy actually achievable. Sameer's build is a different surface (video publishing, not LinkedIn engagement), but the underlying logic is identical: the infrastructure cost of distribution, if you don't address it explicitly, eats the time you needed to do the work itself.
What Sameer built is a genuine content operations layer. An opinionated system that knows the conventions of each platform, handles the mechanical steps without prompting, and hands decisions back to him only where his judgment actually matters.
Most operators won't build this themselves, nor should they. But the design principle is portable: wherever distribution requires repeated manual steps, those steps are a candidate for automation. The 15-20 minutes Sameer was spending per video was not a content problem. It was an operations problem. He solved it as an operations problem.
“The 15-20 minutes per video was not a content problem. It was an operations problem. He solved it as one.”
Choosing Buffer's API over native integrations was a build-vs-buy call made by someone who could have built it. Distribution infrastructure has real maintenance overhead. Owning that surface is only worth it if distribution is your product. For most operators, it isn't.
The combination puts his distribution overhead below almost anyone producing at the same volume.
Frequently asked
Buffer's API is a GraphQL interface that lets developers programmatically create, schedule, and manage posts across connected social platforms. Non-engineers typically access Buffer through the standard web interface rather than the API directly, but developers building custom tools or content pipelines can use the API to push video, captions, thumbnails, and platform-specific metadata without leaving their own app. The API handles the auth, upload, and scheduling logic so builders don't have to manage each platform's native API separately.


