DutaSign in

Notes · · 5 minute read

What Duta is, and what it can actually post today

Duta is a social media scheduling tool: write a post once, choose which connected accounts should receive it, set a time, and Duta publishes it automatically. Eleven platform adapters exist. Seven have carried a real post — X, Instagram, Facebook, LinkedIn, Threads, Telegram and Discord. Four more are built and tested but have never published anything, because each is still waiting on the platform’s own approval.

An isometric drawing of one written post at the centre, sending solid signal lines out to seven raised plates that each carry a small checkmark, while four more plates sit further back, unlit, joined only by a faint dashed line.

Everything else on this blog assumes you already know what Duta is — each of the other posts is a specific problem we hit building it. This one is not. It is a plain account of what the tool actually does, what we have genuinely gotten it to do as of today, and where it still falls short, with real platform names rather than a description of the plan.

What Duta does

An isometric drawing of a single upright post beside a small dial, with straight lines fanning out from it to four low plates arranged in an arc.
One post, one time, several accounts. Duta keeps the time in UTC and shows it back in yours.

You write a post once. You choose which of your connected accounts should receive it — one, or several at once. You set a time, in your own timezone. Duta stores that time in UTC and checks every 60 seconds, so the post goes out within a minute of when you asked for it, whether or not your computer is on at the time.

Each connected account’s access token is encrypted before it is written to the database, and decrypted only at the moment a post actually goes out — it is never logged and never sent to the browser. If a platform refuses a post, Duta retries it three times with an increasing delay before it tells you, in plain language, what the platform said and which account it happened to.

Seven platforms that have carried a real post

Eleven platform adapters exist in the codebase today. Seven of them have actually sent something — a real post landed on the real platform, not a call that returned success in a test.

Platforms Duta has published a real post to, as of 9 August 2026
PlatformWhat it can carry
XText, photos and video
InstagramPhotos, carousels and Reels — no text-only post
Facebook PagesText, photos and video, one login for every Page you administer
LinkedInText, photos and video
ThreadsText, photos, video and carousels
TelegramText, photos and video, through a bot you make yourself
DiscordText, photos and video, through a webhook

Four more that are built, not yet proven

Four other adapters exist, pass their own tests, and have never published a real post: TikTok, YouTube, Pinterest and Google Business Profile. That is not code we are behind on finishing — each one is written and waiting on somebody at the platform to approve access, which is not something we control the timing of.

How it is built

An isometric drawing of three flat slabs stacked with air between them, joined by short vertical connectors, and a fourth slab off to the side joined by a single line.
A Next.js app on Vercel, Postgres through Supabase, and uploaded files kept separately in Cloudflare R2.

Duta is a single Next.js app, hosted on Vercel. The database is Postgres, through Supabase. Uploaded photos and video are kept in Cloudflare R2 rather than on the app server itself. None of that is unusual, and it is not meant to be — the part worth writing about is what the tool is asked to do reliably, not the shelf it sits on.

A public API, and an MCP connector

An isometric drawing of a long low wall with one narrow gap in it. Two small plates in front send lines through that single gap to reach a larger plate behind.
An assistant reaches Duta through the same public API the web app uses. One way in, not two.

The web app is one client of Duta’s own API, not the only way in. A versioned public API exists, covering posts, accounts and media. On top of it sits an MCP connector, deployed since 6 August 2026, so an assistant like Claude or ChatGPT can schedule a post through ordinary conversation instead of a form.

Connected, an assistant can list your channels, check a caption against each platform’s own rules, and put a post on the calendar for you. It still shows you the exact text and the exact time and waits for you to agree before anything is scheduled — a post that has gone out cannot be recalled, so that confirmation is not a formality.

What it does not do yet

Duta is invite-only right now, and it has no customers. Every post described anywhere on this blog went out from one account — ours. Four of the eleven platforms are still unproven, for the reason above. That is the honest shape of it today: fewer channels than the finished list, and nobody using it yet but the person building it.

Iqbal Hakim, Software developer at Baloot.my. Builds Duta, and writes here about what came up while doing it.

Written while building Duta, a social media scheduling tool. Everything above was observed first-hand and last checked on .