Do the work, and
the record is already there

Dispatch is a personal work assistant. Write a task in one line and it becomes a card; it counts back from each deadline to put today's work first. Commits join the progress log every evening, and hours are asked the moment you press Done.

Open the demo What it does

Terminal · work chat · a kanban board on your phone — the same rules and the same tools across all three

dispatchflow.cc / board
The kanban board in seven columns — the urgent ones on the left, with a red border on the cards that need attention today
oneplace you type · mail, calendar, code and the rest connect on their own
95%accuracy judging mail
sevencolumns, sorted by deadline arithmetic
~3sfrom a button tap to the card updating
~$30model cost per user a month · the model only handles judgement

WITH MYCELIUM

Answer from the work you recorded;
prepare the work with what Mycelium finds

Dispatch records your progress automatically; Mycelium gathers the material around your work — from mail and issues to document files on PCs and file servers — and finds it for you. Connected, Mycelium answers progress questions from what Dispatch recorded, and what Mycelium finds appears on the Dispatch task card.

Dispatch

Work records

One-line entry · start dates from deadlines · progress recorded automatically

From Dispatch to Mycelium — Progress answered from your records

From Mycelium to Dispatch — Found material shown on the task card

The owner opens what was found to confirm it is the right one

Mycelium

Finding material

Mail and issues to document files on PCs and file servers, collected daily · searched with sources

  • 98%+regression-set accuracy
  • 4–12squestion to answer
  • mail to file serverssources connected — more can be added

More ways to use them together →

WHAT IT DOES

More channels can be connected.
Only one is typed by a person

The assistant does the rest by itself. However it arrives, it lands in the same single markdown file, goes through the same arithmetic, and shows up on the same screen.

TYPED BY A PERSON

Say it in ordinary words

Work chat, the board's prompt field, the terminal. Drop a sentence the way you would say it out loud and it lands on the matching one among your open tasks as a new task, a postponement or a log entry. You never pick which task; it asks back only when two or more have similar names. No form, no syntax. The raw text is saved before anything tries to read it, so a failed reading loses nothing.

Raw text saved first · a failure leaves it sitting in the queue

GATHERED ON ITS OWN

Progress is recorded without you writing it up

Point a task at a working directory and your commits in that folder are attached to its progress log every workday evening. It does not care which tool made them — a commit typed by hand is caught the same way.

The card stays In progress — a commit means the work happened, not that it is done

Tool-agnostic · a hand-typed commit is caught the same way

ARRIVES FROM OUTSIDE

It finds the work you missed in mail and the calendar

Two weeks of mail is cut to roughly a quarter by a filter, then sorted five ways: new task candidate, update progress, reply reminder, exclude, or needs your input. Calendar entries with no task behind them are held up against the list too. Creating a task is approved by a person.

95% accuracy on that sorting · scored by hand

COMES OUT OF ARITHMETIC

It counts the start date back from the deadline

Estimated hours and a buffer are subtracted back from the deadline to give a latest start date. Nobody works out dates in their head, and a card you should have started today but have not touched blinks on its own.

Open tasks sort themselves into seven columns

SENT BACK OUT

It takes care of weekly hours and backups for you

It drafts how the week's 40 hours split across issue-tracker tickets, based on the progress logs, and it sends the data and the design documents off the machine at a fixed time every day. Posting to the issue tracker is approved by a person.

Hours by the week · backup at a fixed time every day

WHERE IT LANDS

One markdown file is the source of truth

One file is one task: the front matter holds its fields, the body holds its progress log. Any markdown editor opens it as it is. One write is one commit, so a task's history is its version history.

One write, one commit · task history is version history

What it connects to

THE PROBLEM

Open the list.
These questions still have no answer

The task list was always there. But it does not answer the questions you ask every morning.

What should I start on today?

The list holds the due date and nothing else. Whether the work has to start today is written nowhere.

Work backward from the deadline to find what needs to start today

What did I work on last week?

The work happened in repositories, documents and meetings. The list looks at none of them.

How many hours did this take?

Asked a few hours after the work ends, the memory is already gone. That field stays empty.

How many days have I been waiting for that reply?

The list does not separate their turn from mine, so waiting work looks the same as late work.

Where do this week's hours go?

On Friday you rebuild the whole week from memory, and that number becomes the input for the next plan.

Not one of the five has an answer in the list. What is missing is not a list — it is the record that should have been left between the list and where the work happens.

HOW IT RECORDS

Ask later and it never gets written.
Keep it in view and it does

Every status update starts the same way: trying to remember what you did since the last one. A field that asks how many hours a task actually took, filled in after the fact, mostly stays empty.

Ask at the moment of Done, and keep missing hours visible on the board

The question comes when you press Done, while the memory is sharpest — and answering is optional, so closing a task never waits on it.

What is still missing stays in view. A task closed in chat ("that's done") never shows the question, so finished tasks still missing their hours are listed across the top of the board, the screen opened every morning.

Nothing is asked more often. The question comes while the memory is fresh, and what is left sits on a screen already in daily use. The rest of Dispatch works the same way — instead of asking for records, it lets the record form inside the screen where the work happens.

WHERE THE MODEL IS USED

The model is used only where
a person was the only option

Counting and arithmetic are all done in code. What the model is handed is judgement, which is why all five of these come to about $30 a month per user.

A sentence is the inputno form, no syntax
One line from your phone — "push this to Friday" — becomes a new task, a postponement or a log entry. No form, no syntax. It does not ask back: it picks the estimate, the deadline and the priority itself, then tells you only what it picked.
Spotting work in mail95% classification accuracy

Email becomes a task only after your approval

Unclear mail gets a question instead of being dropped · classification accuracy scored by hand

Writing the card summary$5 a month
A long progress log is hard to read on a phone. Once a night they are gathered up and cut to two or three lines — a summary you edited is never overwritten.
What to focus on right now$25 a month
The one value the board cannot work out for itself. Deadlines and capacity come out of arithmetic, but "start with this one" is a judgement, so the model writes it seven times on every working day.
The weekly hours draft40 hours a week
A draft of how the week's 40 hours split across issue-tracker tickets is built from the progress logs. Whatever is already posted is subtracted first so only the remainder is filled in, and posting is approved by a person.

In technical terms

Arithmetic is the skeleton;
the model only judges

The same thing said in industry terms.

Files are the source of truthone .md + git
One task is one markdown file: front matter holds the fields, the body holds the progress log, and every write leaves a commit. No database, no migrations, and it opens in any editor.
Deterministic corethe model never counts dates
Listing, backward-planning from deadlines, capacity and column placement are all code. The model never re-counts a list or works out a date in its head — get that wrong and it fails silently, with no error.
One call, not a sessionstructured output
A line typed on the kanban comes back from a single model call shaped to a fixed JSON schema, and arithmetic writes it onto the card. The multi-turn agent session is used only when that path cannot take it.
Model fallbackfirst choice · second choice
On a day the primary model is unavailable, work moves to a different model family automatically. Three gates check whether tools already ran, so nothing happens twice.
Three surfaces, one toolterminal · chat · kanban
All three call the same entry point. The rules do not diverge per screen — once they diverge, one side quietly goes stale.
Three layers of testsunit · command · browser
Functions, real commands against a fake repository, and a browser that actually clicks — each layer catches something the others miss. A new test is added only after the old code is planted back to confirm it breaks.

Before you adopt it

Where the data sits,
and what is left if you stop

Task notes are among the most sensitive text a company holds. Here is what leaves and what does not.

Where it sitsinside your install
Task files stay inside wherever you installed it — cloud, on-premise or a local server, all the same. One write is one commit, so what changed and when stays in the history.
Where data goesmodel, backup, connections
The model carries the most — picking what to focus on next sends the whole list of open tasks (seven times a working day), while the nightly card summaries send the logs of the tasks whose logs grew that day. The backup goes to the place you named, and each connection carries one fixed thing — one line of notification to chat, a weekly hours figure to the issue tracker. Storage can be set up as local files or cloud storage to suit the customer — either way, the task source stays inside the environment the customer chooses.
If you stopnothing to migrate
Every task file stays. One file is one task, in Markdown, so it opens without this tool. There is no export to run and no format to convert.
On a day the model is downthe screen still holds
Listing, column placement and the deadline countdown run with no model at all. Arithmetic is the skeleton, so the screen stays correct, and whatever you sent meanwhile waits in the queue as you wrote it for the next briefing to flag — nothing is lost.
The same board on a phone — the columns stack and tapping a card raises an edit sheet

THE SAME ANYWHERE

The same board, unchanged, on a phone

Tap a card and an edit sheet rises; a value changed there lands on the board within seconds. Tap several cards and they still travel together in one batch, so there is a single round trip.

Anything a button cannot express goes into the prompt field as it is — "push this to next week and note that I handed it over" arrives in the work-chat conversation and is handled there.

What comes back is one line naming what changed — and if it did exactly what you asked, not even that.

HOW

Nobody is asked to keep records.
The point where the record forms is moved instead

Three steps, and no new procedure to learn.

1

Drop one line

In work chat or in the board's input field, in the words you would normally use. The raw text is saved before anything reads it, so a failed reading loses nothing.

2

The start date is counted back from the deadline

Estimated hours and a buffer are subtracted back from the deadline to give a latest start date. Open tasks fall into seven columns by themselves, and a card that needs attention today blinks.

3

Progress is kept with no separate write-up

Point a task at a working directory and your commits in that folder are attached to its progress log every workday evening. It does not care which tool made them — a commit typed by hand is caught the same way.

NOT THERE YET

All three sit on a frame that already exists

These do not work today. None of them needs a new rule — each one reuses "propose a candidate, let a person approve it", which already runs on mail.

What is missingTodayHow it would attach
Task candidates from the issue tracker The issue-tracker link runs one way only — it posts weekly hours Sort five ways as mail does, and take the same approval
Task candidates from chat channels Direct messages go both ways, but channels are not read One more way in, feeding the same candidate list
Merging two tasks into one Say "merge these two" and it asks back; a person tidies it by hand One command to join the progress logs and close one side

A path that turns those candidates into tasks automatically still will not be built. A wrong candidate costs one line of annoyance; a wrongly created task is one nobody ever deletes, and the list only grows heavier. What gets added is places candidates come from, not places approval is skipped.

MEASURED, THEN DROPPED

A page that lists only what worked
is no use for the next decision

These were built, measured, and then taken back out. What we measured and why we dropped it is written down, so you need not measure the same things again.

What was measuredResultWhat was decided
Matching calendar events to tasksFewer than half of the word-overlap matches were rightDropped — a wrong value that lands on a card never gets corrected
Daily capacity with meetings subtractedSwung up to two-fold from day to dayNot used — a meeting's length leaves out its preparation and follow-up
A check-in pushed twice a dayA question attached itself the moment you said anything, blocking the conversationRemoved — seeing it on the board and fixing it there is more natural
Publishing the same screen in two placesOne of them was always staleDown to one — only the screen the product itself renders
Keeping the task source in a single outside serviceAn outage there stopped every lookup at onceMoved the source inside the installation — one git commit per write

WHAT TRANSFERS

Five rules that carry to any team

Move the moment of asking
Nobody is pushed harder for not keeping records. The same question, asked at a moment someone can actually answer it, gets an answer.
No judgement, no model
Counting and arithmetic are far cheaper and more accurate in code, and above all they can be tested.
Saying nothing is a feature
For silence to mean "it went through", whatever did not go through has to be said out loud every time.
Keep the watchdog outside what it watches
A scheduled job that dies quietly cannot report its own death.
If you cannot count what you dropped, you do not know how well it works
A wrong suggestion is there in front of you. A wrong drop leaves no trace at all.

What changes

What you went to the list to say
now ends where the work happens

The same day written twice — a task list on its own, then this, set side by side at each stage.

A list on its own

Now

When work comes in

A list on its own

  1. Open the list tool
  2. Fill six fields — title, estimate, importance, size, deadline, next action
  3. Count back from the deadline to find the start date

Now

  1. Send one line from wherever you already are

When work is done

A list on its own

  1. Go back to the list
  2. Change the status
  3. Write down how many hours it took

Now

  1. Press Done once — it asks for the hours right there

The next morning

A list on its own

  1. Read through every open task
  2. Work out one by one which ones have to start today

Now

  1. Open one screen — the columns are already sorted

Eight steps became three. What shrank is not the work but the trips you make to record it.

One screen tells you
what to start with right now

Which column a card sits in, "N working days late", the capacity overrun — every one of them is computed back from a deadline. The only thing a person set is the single line at the top.

Open the demo Get in touch

CONTACT

Ask us anything

Adoption, a demo, how it was built — whatever is useful to you.

Reply
Sent to the e-mail address you leave
By e-mail
contact@dispatchflow.cc
What you write
Used only to reply · never passed on
Your data
Privacy notice →
See it first
Open the demo →

ALSO FROM US

Built the same way, for a different problem

The problem differs; the rules do not — no model where there is nothing to judge, and a person approves anything that leaves the building.

KOREAN WRITING CHECKER

A last machine read of Korean documents before they are sent

Built for Korean writing, so its page is in Korean only.

Open the Korean page →