Syllogistic Software Inc.

TaskTree

A to-do app that tells you the next three things to do, and why

Phone-FirstVision-Language Speech to TextBuilt by Coding Agents GeminiGPTGo

The problem

Lists grow until nobody can tell what matters. A long list treats a lease deadline and "buy piping bags" the same. The tools that rank it for you do it with scores, streaks and red badges, which turns a to-do list into a guilt machine. And moving to a new tool means retyping everything: the notebook page, the sticky notes, years of Todoist.

The person in this story runs a neighbourhood bakery-café, Crumb & Kettle, and is opening a second location, hiring, and closing the year's books, on top of a home life. The café, the person and every task on this page are invented for the screenshots.

What was built

TaskTree is a phone-first to-do app that names the next few things to do, each with one plain reason: a deadline and how much work is left, the last step on a project, or something you said matters. Projects are drawn as a grove of trees. The picture is a status you glance at. It changes only when your work does, and it never celebrates. There are no points, streaks or badges.

TaskTree's home screen on a phone: a grove of three trees named Second location, Hiring and Year-end over a garden bed, then What's next with three tasks, each with its reason
Home on a phone: the grove, then What's next, each card with why it is there.
TaskTree's home screen on a desktop: the grove picture on the left, and What's next and After that on the right, each task with its reason
The same screen on a desktop, with "After that" below: everything else, for when there is room.

AI gets things in and sorts them, and you approve each step. A spoken or typed brain dump is tidied into one item per line. A photo of a paper list is read into items. A Todoist export becomes a plan of projects and ongoing areas that you edit before anything lands. Loose ends that belong together are proposed as a new project, which you name, give branches, or turn down.

Say it, tidy it, save it. The speech is scripted for this recording; the app uses the phone's own speech recognition.
Loose ends that belong together become a project, once you say yes.

The model replies in these recordings are real answers from the real models, recorded once and replayed, so every take shows the same thing.

Result

TaskTree is live and in use.

Its 20 AI features each run on one of three models, and every choice was made by measuring. Five pilots, run while it was being built, put each feature on the candidate models with the same inputs and compared what they got right, how long the person waited, and the list price per call. The measurements decided, and they did not always pick the cheapest model:

  • Tidy moved to GPT-6 Luna. It matched Gemini 3.8 Flash at about a third of the wait and a sixtieth of the cost.
  • Split, which breaks a task into steps, moved twice. First to Luna, at under half the wait and about a fortieth of the cost. Then to Gemini 3.5 Flash-Lite, whose steps were more specific than Luna's, at a fifth of Luna's wait. It costs more than Luna, but a person is waiting for it.
  • Chat stayed on Gemini 3.8 Flash, the dearer model. Luna was right in 13 of 15 runs where Gemini was right in all 15, and in the chat a missed item or a wrong edit costs the person most.
  • Import review moved to Luna and then moved back. The first real import on Luna left about 96 repeating tasks waiting for someone to review them by hand.
  • Import plan kept its model and dropped to a lower thinking level: the same decisions, at a fourteenth of the wait.

The lesson applies to any business buying AI: measure each job on its own, take the saving where the quality holds, and be ready to reverse. The ratios are from the pilots, at the list prices of the day.

Effort and cost

TaskTree is a side project, built in three weeks of evenings and weekends. Coding agents wrote it through WASBuilder, with one person writing the ideas, answering the agents' questions and approving each release. WASBuilder's agents wrote 1,036 of its 1,097 commits, over 403 tickets.

TaskTree's tickets by type: 426 in total, 402 deployed and 5 cancelled
Tickets by type, from WASBuilder's Stats page in production.
TaskTree's lines of code: 87,524, with a graph of the last eight weeks
Lines of code over eight weeks, from production.

What it would have taken a small team to build, and what it actually took, is set out for TaskTree and WASBuilder together on the WASBuilder page: see the comparison.

How it works

The rest of this page is the technical tour. Every screen in it shows the invented café.

Seven nouns and a picture

A grove holds trees, which are projects or ongoing areas. A tree has roots, the reason it matters, and branches, the outcomes it needs. A branch has leaves, the tasks. A bud is something captured but not yet placed, and the garden bed holds the things that repeat. The picture is drawn from that data: canopies grow with open leaves, a tree nobody has touched in a while fades, and plants in the garden bed droop as they go overdue.

The Second location tree on a phone: the grove at the top, then the tree's picture with its roots, and its branches Lease signed and Fit-out with their leaves
One tree: its picture, its roots and its branches. The two linked circles beside each tree's count mean more than one person tends it, here the owner and the café's manager.
The picture changes because the work did: a tree's count drops, and a garden bed plant turns green. No toast, no confetti.

How What's next ranks

A task that must be done by a date is pinned only when it is close, and close is judged from the days left against the work it needs. Everything else is ranked by one score, which answers to "which of these matters more?" and to where you are, how much time you have and your energy. Every card says why it is there.

Tend is the weekly review

Tend is a short stack of decisions, one card at a time: place a bud, plant a proposed tree, add an earlier step a deadline needs, or prune what has gone stale. Nudges about neglect live here, never on the home screen.

Tend on a phone: a card for a captured bud with Make it a leaf, Not yet and Let go
A bud waiting for a decision.

AI proposes, you apply, and one Undo takes it back

A chat can set up a whole project from one message. Its edits come back as one batch of proposed changes, checked against the same rules as the app's own screens. Nothing changes until you press Apply, and one Undo reverses the whole batch.

One message, one batch of changes, Apply, then Undo.
The chat on a phone: proposed changes to plant an Office lunch catering tree with two branches, waiting for Apply or Dismiss
The proposed changes wait for Apply or Dismiss.

Bring your list

A photo of a paper list is read into items. A Todoist export becomes a plan: each group lands as a tree, which you can rename, make an area or a project, or reject, before anything is imported.

A yellow sticky note beside a pen, handwritten: take out garbage, clean bathroom, get milk
The list that was photographed: a real sticky note.
Snap a list reads it into three items.
The Bring a list in sheet on a phone: a Todoist group named Café jobs, with 11 tasks, set as an ongoing area, with Reject, Back, Cancel and Import
A Todoist import's plan, edited before anything lands.

A model for each job

One file names each feature's provider, model and thinking level, so moving a feature to another model is a one-line change, and the pilots above are the evidence for each line. Every call that answers is recorded against the person it served, and each person can see their own use, by feature and by week.

The AI usage table: tokens in and out for each feature, such as Chat, Draft branches, Read a photo and Tidy text, with a total
One person's AI use this week, by feature. Demo data.

How it was built

WASBuilder's agents wrote it ticket by ticket, behind one gate: a check command that formats, builds, vets and tests everything. There are 454 Go test functions, 35 of them driving a real Chrome, and one test that counts all 149 API routes, so no route goes in untested.

Feedback goes to the board that builds it

Send feedback, in the account menu, takes a message and, if you like, a screenshot. The report lands on WASBuilder's Feedback page beside TaskTree's board, where it can be discussed with an agent and filed as a ticket: see it arrive on the WASBuilder page.

Send feedback, with a screenshot attached.

Honest limits

  • It is a version 1. Every AI suggestion waits for a person to accept it.
  • It is in use, but this page doesn't link to it yet.
  • The café and its tasks are invented. The model replies in the recordings are real answers to those inputs, recorded once and replayed, and the speech in the first recording is scripted.
  • The model choices rest on pilots at the list prices of the day. Prices change, and a choice is only as good as its last pilot.

Could AI help your team decide?

What it takes, and where it falls short, is on its own page.

Built with WASBuilder.

Sign in

or

or
Sign up

or
Account
Change email address:
Enter current password:
Change password: (blank to leave unchanged)