We stopped writing posts. We started approving them.
The loop in twenty seconds. A draft lands on the phone, a tap approves a variation, it schedules itself, and the auto-publisher posts it later. The rest of this page is what sits behind that tap.
Chiblu was a marketplace for Indian craft, and Instagram was where buyers found us. Week one we posted daily. Week two, every other day. Week three, silence. Four things had to be true at once:
Draft, polish, schedule manually collapses under all four. So I unbundled the work.
The schedule agent knows nothing about festivals. The festival watcher knows nothing about new arrivals. The auto-publisher does not care what created a draft; it only looks for approvals.
One month, every source in one grid. Festivals on their date, recurring posts on their cadence, pre-generated drafts on the day they will publish.
The calendar answers “what is coming.” It does not ask for a decision. One button at the top generates drafts for every empty cell in the month, skipping cells that already have one, so it can be re-run without duplicates.
The decision happens somewhere else. At 8 AM on Sunday a digest arrives on Telegram listing every draft scheduled for the coming week. Each one comes as a swipeable album of four design variations with six buttons underneath: 1 2 3 4 to pick a variation, ↻ to regenerate, ✕ to skip.
Tapping a number does not publish. It marks the draft scheduled, and the auto-publisher posts it when its time comes. Sunday’s tap becomes Wednesday’s post. That split between approving and publishing is the load-bearing part: the week clears in ten minutes without anyone thinking about timing.
Editorial when the photograph carries the story, typographic when the message is the visual, a festive block when the calendar says it is the day.
I picked the designs once. Each schedule has a default layout, or alternates between two, and the festival watcher uses one designated template all year. The agents keep using what is already decided.
The obvious framing is that the agents write and I approve. Accurate, and it undersells the shift. What actually moved was when the editorial decision gets made.
We’re not picking words on Wednesday. We’re picking a rotation in January.
I am not laying out a Diwali post in October, I am flagging the festival in advance. The work compresses into a few moments of taste, made once: which templates exist, which rotation runs, which festivals matter, and where a human has to say yes. Six agents then make the consequences happen.
Predictability stopped being a constraint and became the point. Knowing what posts next Sunday at 10 AM is not a limitation of the system. It is the reason the calendar is worth looking at.
Something starts a post, an agent turns that signal into a draft, a human approves it on their phone, and the publisher closes the loop. Each piece does one thing and stays out of the others’ way, so changing how captions get written never touches how the calendar shows the month.
The human belongs in the decision, not the keyboard. If I am writing the caption, the system has failed. If I am choosing between four things that are already good, it is doing its job.
The seller-campaign agent walks a list of twelve angles, one a week, and the same week of the year always picks the same angle. Boring, repeatable, and the reason the calendar can tell you on May 1st what goes out on May 24th.
Seven pings across the week is worse than one digest on Sunday. Generating each post the moment it is needed sounds tidy and interrupts you on the wrong day. Doing it all in advance costs a little more time once and almost no attention afterwards.
The interesting part was never that a model could write a caption. It was that I could design a system where my job became deciding what was worth publishing, and everything else ran on a timer.