How it works

A hundred small moments, not one big prompt.

The AI in our apps does not meet you as a stranger every time you press something. It already knows who you are, where you are and what you are in the middle of — so what comes back lands.

Most AI features are a text box in front of a very large general-purpose model. Whatever you type has to carry everything the model needs to know — who you are, what you are doing, what good looks like for you — because the model arrives knowing none of it. That is why so much of what comes back is confident, generic, and no use. We build the other way round: lots of small interactions, each one already holding the context, each one doing one job.

What every one of them already knows

Five layers of context, assembled before the model is asked anything. None of it is typed by the person pressing the button, which is the whole point — everything you have to explain is something the software failed to notice.

Who is asking

Not an account id — the working facts. A tutor with three cohorts and a marking style, or a therapist with a caseload and a way of writing notes. Those change what a good answer looks like before a word of the request is read.

Reads Their profile, their role, and the settings they have already chosen.

Where they are standing

The same sentence means different things on the gradebook and in the lesson editor. An interaction that does not know which screen it was triggered from has to guess, and a guess is where the generic answer comes from.

Reads The screen, the record open on it, and the control that was pressed.

What the task actually is

Each moment is scoped to one job — draft this feedback, name this session, fill in this week. Small enough that we can say what a right answer is, and small enough that a wrong one is obvious at a glance rather than buried in six paragraphs.

Reads A prompt written for that one job, not a general instruction.

How this person does it

Your last twenty pieces of feedback say more about how you write than any style setting you could be asked to fill in. What we generate is shaped by what you have already accepted, edited and thrown away.

Reads Your own earlier work in this app, and what you changed about ours.

What shape the answer has to be

The result has to land in a field, a row, a rubric or a calendar — so the shape is decided before the model is asked, and what comes back is checked against it. An answer that does not fit is rejected here, not shown to you to tidy up.

Reads The structure of the screen it is going into, and a validator for it.

The same four questions, both ways round

This is the argument, and it is worth being able to disagree with. On the left is what one large model prompted from scratch can offer. On the right is what a small interaction that already has your context can.

The question One big prompt A micro interaction
What does it know when you press the button? Whatever you managed to type. Everything else about your situation has to be re-explained every time, or guessed. Who you are, which screen you are on, which record is open, and how you have handled this before. None of it typed by you.
How big is the job? Open-ended. It will answer anything, which means there is no such thing as a wrong answer to check for. One task with a known shape, so the result can be validated before you ever see it — and the failures are ones we can fix.
How long do you wait? Long enough to notice, because the whole thing is reasoned from scratch on every press. Short enough to stay in the flow of the work. Small jobs with the context pre-assembled are small jobs.
What happens when it is wrong? You get a wall of plausible text and have to find the error in it yourself. A wrong answer is one field, next to the right one, editable before it counts. Nothing generated becomes a decision on your behalf.

Four of them, in apps you can go and use

Not illustrations of the idea — these are shipped, in public alpha, and you can press them yourself today.

  1. Marking a piece of work against your own rubric

    In Yoshuko. It reads the rubric you wrote, the answer the learner gave, and the way you graded the last thirty. It drafts per criterion, shows its reasoning beside each one, and you change anything you like before a learner ever sees it.

  2. Taking the register from a photograph of the room

    In Yoshuko. It already knows who is enrolled in this cohort, that this session is on today, and who was here last week. That is a much smaller question than "who is in this picture".

  3. Turning what you said into a session note

    In Practiceful. Dictated in the browser and transcribed in the browser — the audio never leaves the machine. What is drafted knows the client, the service and the last note you wrote for them.

  4. Offering a client the appointment that actually fits

    In Practiceful. Your availability, the length of the service, the gap it would leave and the way you like your day to run. The result is a handful of times to pick from, not a wall of every free slot.

Read about both apps

And what it does not do

One of the eight things we say we believe is be honest about the AI. A page about our own technology that only listed its strengths would be the page that contradicts it.

  • None of this makes it right. It makes it wrong in ways you can see and correct in one place, which is a completely different problem to have.
  • Anything generated is labelled as generated and is editable before it counts. It never quietly becomes a decision made on somebody else’s behalf.
  • We do not train anything on your work. The context is assembled for your request and it belongs to you; you can export everything and take it elsewhere.
  • Where a job genuinely needs a big model to think from first principles, we use one. The claim is that most of the moments in a working day are not that job.

Want this in something you are building?

Tell us what it is. A person who builds these apps will write back.

Say hello