Write a ticket.
Watch it ship.
Diad turns a plain-English ticket into a sequenced plan, real code, and a draft pull request — reviewed by you before anything merges.
First-look access for early signups.
You're on the list — we'll be in touch soon.
/api/tickets — 100 req/min per org, return 429 with Retry-After.
The mock above, running for real.
A ticket going in, a plan coming out, and a draft PR landing in the repo — captured straight from the product.
Four steps. No template fields.
Every ticket moves through the same four steps, in order — nothing skips the queue, nothing merges early.
Describe
Plain English, in a normal conversation. No forms, no dropdowns, no required fields you don't have answers for.
Plan
Diad breaks the ticket into ordered tasks — docs and unblockers first, implementation once the ground is set.
Execute
Docs get written straight into your repo. Code opens as a draft PR. Nothing lands directly on a branch you didn't choose.
Review
Approve, reject, or regenerate any task. Diad replans around your call instead of starting the ticket over.
Every task is a draft until you say otherwise.
It already knows your codebase.
Every plan is grounded in what you've actually built — your docs, your architecture decisions, your existing code — not a generic guess. Each task shows exactly which source informed it.
Fits where you already work.
Connect once. Diad opens PRs on your repo, posts updates where your team already talks, and respects who's allowed to see what.
GitHub
Draft pull requests land on the branch you choose, with the diff open for review. Diad never pushes straight to main.
Slack
Ticket status and task completions land in the channel your team is already in.
SSO
OIDC login for Okta, Azure, or Keycloak — access follows your own identity provider.
Webhooks
Fire a request when a pipeline completes and pipe it into whatever you've already built.
Does it ever merge code on its own?+
No. Every code task lands as a draft pull request. A human on your team has to open it and approve it before anything merges.
What if it gets a task wrong?+
Reject it or ask Diad to regenerate. It replans that task with your feedback instead of restarting the whole ticket.
Which repos can it touch?+
Only the ones you connect. You set the repo and base branch per project in settings — nothing outside that scope is reachable.
Is my code used to train anything?+
No. Your code is used to answer your tickets, not to train models.