DraftDraft

Product

Raise it from where the work is.

The person who finds the problem is on a ladder, not at a desk. They send what they see to the number they already have, and it lands where its join code binds it — the maintenance log or the inbox. Either way, a person confirms it before anything enters the record.

A message lands where the code binds it

A contact on a join code sends a note. Draft replies to say it arrived and where it went. This code is bound to the whole workspace, so the note and its photo are kept in the maintenance log as written; on a code bound to a project the note goes to the inbox for the decision maker to review and confirm.

The reply confirms the note arrived. It never claims a change was raised — nobody has decided anything yet.

Join codes, not phone books

A code binds a phone to a workspace, a project or one job. You create it in Settings and send the link or the QR; one tap opens the chat. Revoke it and the phone is out.

One code for the gardener, bound to the workspace alone, so its notes land in the maintenance log.

The same note, in the app

In the app the composer does the same job: write it as you would say it, and Draft structures it. Either way a person confirms before anything enters the record.

WhatsApp and the composer feed the same inbox.

The rule

A message is never lost, and never enters the record until a person confirms it.

Draft structures what it is sent; it never prices, approves, attributes or predicts. An unmatched message waits in the inbox to be confirmed or discarded by a person.