ML.ai

Build the feature. Pay frontier prices only where it counts

ML.ai plans on a lighter model and saves the frontier tier for writing the diff, so the same change costs about 30% less.

Who uses ML.ai for feature work

Developers shipping ordinary feature work that is clear enough to describe in a sentence or two.

  • Full-stack developers

    A field that has to reach the schema, the API route and the UI in one change.

  • Teams shipping everyday features

    New endpoints, settings panels and forms you can describe in a sentence or two.

  • Reviewers who want one diff

    The whole change across every layer, in front of you before anything saves.

Cheaper only counts if the change is right

Routing saves money on the steps that allow it. These four things are what keep the output worth shipping.

A prompt-and-paste chat window has no memory of your repo

A generic chat model answers from the snippet you pasted in, not the actual codebase. It cannot see the three other files a real feature touches unless you paste those too, one at a time.

Cross-layer changes are where features actually break

A schema field, its API route, and the UI that renders it have to agree with each other. Reading and writing all three together is the part manual work gets wrong under time pressure, not any one layer alone.

A diff is checkable. A description of a change is not

Being told what a change does is not the same as seeing it. Every edit here is a real diff against your actual files, so review means reading code, not trusting a summary.

The task has to be well-defined, and that is a feature

general works from what you wrote, so a clear request gives you output predictable enough to hand off.

Building a feature by hand versus handing it off

By hand

You write the schema change, then the API route, then find the UI three files later, testing each layer on its own.

With ML.ai

One request describes the feature. ML.ai reads the schema, the API and the UI together and returns one diff for review.

Which agent actually does this

general · Read · Plan · Write diff

Carries out the feature end to end

Reads the relevant files, plans the edit across every file the change touches, then writes it as one reviewable diff.

architect · Read · Plan · Write

Optional, for a bigger feature first

Read-only. Returns the critical files and an ordered plan before general executes any of it, useful when the shape of the feature is not yet obvious.

How a feature goes from request to approved diff

Most daily work is plumbing: a new endpoint, a form, a column across three layers. ML.ai matches your patterns and holds the change behind a diff.

1Describe the feature in plain languageOne sentence is usually enough: what should exist, and roughly where. general, the default agent, is built for tasks well-defined enough to hand off whole.
2It reads before it writesThe agent opens the files it needs, follows imports and existing patterns, and plans the change across every file it touches before editing any of them.
3Review the real diffEvery edit and shell command waits behind an Allow, Always or Deny prompt, so nothing writes to disk until you approve the real diff.
4Approve, or redirectAllow it, always-allow that kind of edit for the session, or say what is wrong and it revises. The loop stays yours to stop at any point.

Common feature-work problems and fixes

Where feature work usually breaks, and how ML.ai closes each gap.

Type drift between layers

A schema field renamed or retyped without updating the API contract and the frontend type that reads it, so the mismatch surfaces at runtime instead of at review time.

How ML.ai handles it

general reads the schema, the route and the component together before writing, so the diff carries one consistent type across all three.

The forgotten call site

A new field added to the model but never wired into the one API response that needs it, because that response lives in a file nobody thought to check.

How ML.ai handles it

The agent traces how the touched files are used before finishing, so the schema change is never treated as the whole task.

Untested until it ships

Each layer looks right on its own, and the full path first runs end to end in production.

How ML.ai handles it

The diff spans every layer at once, so you review the complete path the request will take in one place.

Where this stops

The real edges of what general can do here, stated plainly instead of left for you to discover.

01
01

It won’t ask, so say it up front

general won’t stop to ask whether dueDate is required. Write “optional” or “required, defaults to today” in the request, or it makes the safe choice itself.

02
02

You approve before anything saves

The diff waits behind Allow, Always or Deny. Pick Always if you don’t want to be asked about that kind of edit again this session.

03
03

Big features go through a plan first

Once a change spans more than a handful of files, plan it with architect, then hand the plan to general.

Plan · session store migration

  1. 1Update middleware to read both formats
  2. 2Add the server store behind a flag
  3. 3Swap the store
  4. 4Remove direct cookie reads in the auth flow

Open question: hard cutover or dual write

Hand to generalRevise

Planning

architect returns the key files, trade-offs and a plan without editing anything. planSubAgent saves that plan to a file.

Root cause in session.ts

The store returns null before the session write finishes, so the middleware rejects a valid token.

session.ts+2 −1
40export async function getSession(id) {
41- const s = store.get(id)
41+ const s = await store.get(id)
42+ if (!s) throw new SessionNotFound(id)
AllowAlwaysDeny

Debug

Give ML.ai a failing test, an error message, or a stack trace and it reads the execution path, finds the actual cause, and proposes a fix as a diff you approve.

FAQs

Does it write the whole feature in one pass, or one file at a time?

One pass across every file the change touches. It reads the relevant files first, plans the edit across all of them, then presents the full diff together rather than file-by-file.

Can it add a feature that spans backend and frontend?

Yes, that is the common case: general follows the change through schema, API, and UI in one task, the way the dueDate example above does.

What if I only like part of the diff?

Say what to change and it revises before anything is written. Nothing touches disk until you approve, so there is no partial-apply state to undo.

Can general ask clarifying questions mid-task?

No. general cannot ask clarifying questions mid-task, so a vague request gets a guess, not a question. Say what should exist and roughly where, and it has what it needs.

When should I plan with architect first?

When the change is big enough that the order of work matters, or the shape of the feature is not obvious yet. architect returns the critical files and an ordered plan before general executes any of it.

Try ML.ai today, or talk to us about what is next

Install the editor agent on your own machine, or book a call to talk through your team’s workloads