About Work Services FAQ Insights Let's Talk →
→ Insights

A personal ledger for fractional work across brands.

A fractional seat across brands leaves the work in pieces. Promises, hours, and actions live in an inbox, a Slack, a board, and the margin of a calendar. We needed one personal ledger for that seat. Inio is a fractional operator practice where one person sits across several brands at once, which is why this ledger exists. Nothing off the shelf fit. A team CRM, or a workspace built around one brand, is the wrong shape for a single operator. So we built Adjuta for ourselves.

The before-state: scattered, and easy to drop

The seat is fractional. Two brands in a week is ordinary. Sometimes both show up in the same afternoon. Brand A needs a follow-up on a draft agreement. Brand B needs a billing tier confirmed after a list cleanup. Jordan is waiting on a revised scope note. Alex wants a view of draft emails by Friday.

The brands stay unnamed because the work is quiet and the brands are the loud part.

Each one is small. They did not start in the same place. A promise begins as a sentence in Slack. The due date lands in a calendar hold, if it lands anywhere. Asana gets a task when someone remembers to make one. Who asked lives in the email thread. Whether it already happened lives in sent mail, a meeting note, or nowhere.

That holds until the week gets loud. I said I would send the one-pager before Monday. Brand A's fire drill ate the day. By Thursday the promise has no record, only a feeling that I owe Jordan something. The reverse fails the same way. Someone promised me a clear staging window. Three days later I cannot tell a commitment from a CC.

A rented dashboard does not catch this. Those tools assume a team, a pipeline, and a process that looks like every other company's. Our loop is one person and four objects: promises, actions, hours, and a daily log. A tool that does not match those four becomes another tab I will not check.

The turn: the smallest system that matches the loop

We stopped looking for a closer dashboard and built the smallest system that matches those four objects. Adjuta is that system. One operator. Sign-in is Google, allowlisted, and if you are not on the list you do not get in. There is no public signup and nothing to buy. A second seat is not hiding behind a setting. The brands stay in their own tools. This ledger is the operator's.

Inio builds its own tooling for the seats it fills: the outbound system in We replaced a sales stack, and this ledger here. Two builds make a practice. One build is a project. That outbound system runs a sales motion. This ledger does not. Adjuta does not source prospects, run sequences, or stand in for a team CRM. It remembers what was promised, what is still open, and which hours are still a draft.

The build: one Worker, one database, the screens we open

What shipped is small on purpose. A Cloudflare Worker serves the app. D1 holds the database, one store, so a promise does not exist in three places with three opinions. The UI is server-rendered from that database. The whole thing is live at adjuta.com.

The surfaces are the loop, named:

  • Today is home.
  • Promises are first-class, in both directions.
  • Actions are the open work.
  • People are the humans on a brand: Alex, Jordan, and whoever else is actually in the thread.
  • Brands keep Brand A from blurring into Brand B.
  • Week, Shipped, and Rollup are the look back: the week as it happened, what went out, and hours gathered across brands.

Rollup gathers hours across brands. It does not finalize a bill, and it does not confirm the numbers. On a phone the app is a PWA. The tab bar stays short: Today, Triage, Actions, People, and More for the rest.

Today is the screen we actually open

Needs you is the queue. Filtered to Brand A, two things need you. The follow-up on the draft agreement is late, with Alex on it. Jordan's revised scope note is due today. The item carries the brand, the person, and the state, so you are not reconstructing the thread to remember which is which. The hours under that queue are a draft, and Confirm is the person's button. Looks done is not on this screen. That question lives in Triage.

Adjuta Today on a phone, filtered to Brand A. Needs you shows Alex late on the draft agreement and Jordan due today on the scope note. Hours below are a draft with Confirm.
Today, filtered to Brand A. Needs you: Alex is late, Jordan is due today. Hours sit underneath as a draft, with Confirm waiting on a person.

Looks done lives in Triage

Looks done is a question inside Triage, not a status on Today. The card in front of us is a reply to Alex on Brand A. The evidence is the kickoff reply sitting in Sent, in Gmail. Triage thinks that might close the item. The buttons are Done and Not yet. Done is a person's call, because the evidence is on the card. Not yet leaves it open. A message in Sent is not the same word as done.

Adjuta Triage on a phone. Looks done asks about a reply to Alex on Brand A, with the kickoff reply in Sent in Gmail, and Done and Not yet buttons.
Triage, Looks done. The evidence is a reply in Sent, in Gmail, for Brand A with Alex. Done and Not yet are both a human call.

The rest of Triage is the same posture, one step earlier. Ingest pulls the signal in. Dedupe collapses the same thread when it shows up twice. Tidy cleans the wording. What it will not do is invent work from a CC or an FYI. If nobody asked, it is not an item. Smarter triage is still ahead of us. What is live is a suggestion queue, not a clerk that clears the day.

Promises, both directions

Promises were the object we kept losing, so they are not a checkbox buried in a task. They show up on Actions. All is the list. I owe and Owed to me are the two directions, and each item can be late, kept, or broken.

I owe Alex a draft. That is a different fact from Alex owing a view of the drafts. A flat task list treats both as the same kind of row. The screen below is Actions, All, held to Brand A, with both directions on it.

Adjuta Actions on a phone, All selected and filtered to Brand A, with I owe and Owed to me on the list.
Actions, All, under Brand A. I owe and Owed to me sit on the same list.

Hours stay a draft

Hours are a suggestion until a person says otherwise. Brand A's day comes up as a draft: a check-in call, a scope note, inbox triage, each with a duration the system thinks fits. The control is Confirm day. Nothing presses it. Nothing downstream treats the guess as a timesheet, and nothing turns the draft into a bill.

The mark is a stork. The brands do not get a logo in this ledger. They get a name, and the hours still waiting on Confirm day.

Adjuta hours for Brand A on a phone. The day is a draft, with Confirm day waiting on a person.
Brand A hours, still a draft. Confirm day is the step a person takes.
A working principle

AI suggests. You decide.

Inio's working principle is that tools draft and operators decide, in this ledger and in client work. Adjuta follows that line. It can draft, match, and tidy. The decisions stay human:

  • Confirming hours. The draft can be wrong. A person owns the number.
  • Closing an item with no evidence. Looks done can ask. It cannot press Done on its own.
  • Sending as the operator without a draft. The keystroke stays human. Nothing leaves as you unless you send it.
  • Inventing work from a CC or an FYI. Noise is not a promise. If nobody asked, it stays out of the queue.

Still soft, on purpose

Two things are still soft, and they come before any add-on. Phone feel is being hardened. Triage is not as sharp as the rest of the ledger. We are not bolting on a team layer, a shared inbox, or a billing integration to make the system look finished. Widening it now would be more surface and the same dropped promise.

Most of the work was naming the objects. The Worker and D1 were the smaller half. The harder half was admitting that "task" was too vague for this job, and that an hour nobody confirms is a story about the week.

If you are about to rent another dashboard

  • Name the objects you actually lose. For us that was promises in both directions, not a longer task list.
  • Match the system to one person if one person does the work. A team CRM is the wrong shape for a fractional seat.
  • Keep suggest and decide on opposite sides of a button. A record the machine can close, send, or confirm alone is a record you will stop trusting.
  • Leave hours as a draft until a person owns them. A confident suggestion is not a timesheet.
  • Harden the daily screen before you add a feature. Phone feel and triage are still in front of anything new, on purpose.

Questions operators ask about Adjuta

What is Adjuta?

Adjuta is a personal ledger we built for fractional work across brands. It holds promises, actions, hours, and a daily log, and it is live at adjuta.com. We built it for our own seat inside a fractional operator practice. One operator, on an allowlisted Google sign-in. It is not for sale.

Does Adjuta replace a CRM or a sales stack?

No. Adjuta is not a team CRM and it does not run outbound. The Lab note We replaced a sales stack covers the outbound system we built for that seat. This ledger keeps a single operator's promises, actions, and hours straight across brands.

Does Adjuta confirm hours or send messages on its own?

No. Hours are drafted for a person to confirm. An item closes only when a person says so, and only with evidence on the card. Nothing sends as the operator without a draft a human sends. AI suggests. A person decides. That is how Inio works in client work too: tools draft, operators decide.

Who can sign in to Adjuta?

One operator. Sign-in is Google, limited to an allowlist. There is no public signup and no second seat. Adjuta is not for sale. If you want the fractional operator in the seat, that is a conversation with us, not an account to create.

The seat is what a brand can get.

Adjuta is not for sale, and it never will be. We built the ledger for our own fractional seat. What a brand can get is the operator in that seat: one person across the brands, owning the promises, the hours, and the calls. Tell us what the week looks like.

Let's Talk →

Built for ourselves. Live at adjuta.com.

Keep reading
We replaced a sales stack → When to hire fractional executives → Fractional COO → All insights →