NavigateOur WorkServicesAIContactAbout UsCase Studies
ResourcesBlogAcademyBuilt
AppsTarlyLiveSwapItSoon

A time tracker with an assistant that acts, and takes it back

Most AI features in time trackers write summaries. Ours logs the hours, drafts the invoice, says who is working, and records its own undo before every change. How it works, the doors it respects, and the four ways it was confidently wrong before we fixed them.

A time tracker with an assistant that acts, and takes it back

Most time trackers now have an AI feature, and most of those features write summaries. Ask what the team did this week and you get three paragraphs about the week. That is a report with better grammar. What we wanted was the other thing: an assistant that could log the hours, draft the invoice, tell you who is working right now, and be safely wrong. This is how the one inside Tarly works, including the parts that went wrong while we built it, because those are the parts that make it usable.

It acts on records

The assistant is called Chit, which is a small written note recording something done or owed, and that is what every one of its actions amounts to. It lives in the portal’s command palette. You type in plain words:

  • “Log two hours for Rera yesterday, product uploads.”
  • “Draft this month’s invoice for Driftwood.”
  • “Who is working right now?”
  • “How much time did we spend on Noctelle this month?”
  • “What does the returns procedure say about refunds over $200?”

Each of those is a real read or write against the same tables the pages use. The invoice it drafts is a draft invoice, built from the client’s unbilled hours, sitting in the invoices list. The two hours are a time entry with an audit row. The procedure answer is a passage from the knowledge base, with the document named.

Every change carries its own undo

An assistant that writes to your books needs a way to be wrong cheaply. Before Chit makes any change, it records how to reverse that specific change, and only then does it act. The result is a log where every row has an Undo beside it, and pressing it puts the record back as it was, one click, no ticket. A run is capped at eight actions, each person has a daily limit that defaults to twenty-five, and the assistant is switched on per member rather than for everyone.

Some things it cannot do at all, by design rather than by prompt: it cannot delete, cannot send anything to a client, cannot mark an invoice paid, cannot change who has access. Those stay with a person, because an undo button is not enough for an email that has already arrived.

It respects the same doors the pages do

A VA asking “how many hours did the team work this week” gets their own hours, because that is what the reports page would show them; asking for someone else’s is refused rather than quietly narrowed. Live presence, the most surveillance-shaped data in the portal, answers only for admins, matching the monitoring page. The knowledge base returns a passphrase-protected document’s title and nothing else, because the page asks for the passphrase before showing the body and an assistant that read it aloud would make the passphrase decorative. If the tool is a door the page already closes, the assistant does not become the way round it.

What went wrong, and what it taught us

The first version was confidently wrong in ways a summary generator never has to be, because it was producing numbers people would put on invoices. Four of them, all fixed, all instructive:

It added up rounded numbers. Asked for a VA’s week, it summed five daily figures that had each been rounded to two decimals and reported 16.62 hours. The true figure, from raw minutes, was 16.63. A penny, on a timesheet, is the thing that gets the whole invoice questioned. The tools now return the total computed from minutes, and the model is handed the answer rather than the ingredients.

An empty filter became an empty ledger. Asked which invoices were unpaid when all fifteen were paid, it tried three filters, got three empty lists, and concluded no invoices existed. The next four questions inherited the false premise. Every filtered read now arrives beside the unfiltered count, so “none matched” can never be mistaken for “none exist”.

It could group by client and not filter by one. So “how much time on Seyi this month” had no correct call available, and it answered with the whole month’s total, with the client’s name attached. A missing tool produces an honest refusal; a missing filter produces a confident wrong number. The rule we took from it: for every dimension a tool can group by, it must also filter by.

It thought it was yesterday. Today was computed in UTC for a team five hours ahead of it, so between seven in the evening and midnight the assistant believed it was still the day before, and a task due today read as overdue. Dates are now in the reader’s own timezone, and the prompt states the weekday in words rather than trusting the model to derive it.

None of those was a model failure exactly. Each was a place where the tool handed the model something it would have to reason about, and the fix each time was to do the arithmetic, the counting or the calendar in code and hand over the result.

What it costs, and what it does not do

A run costs about a tenth of a cent. That is not a marketing figure; it is why the daily limit is twenty-five rather than five. It does not replace the pages: the timesheet, the board and the invoice editor are where careful work happens, and the assistant is for the twenty things a day that are one sentence long. It answers in whatever language you ask in, which matters for a team that types in Roman Urdu as often as English. And it draws tables and charts for anything it reads rather than writing the rows out, because fifteen invoices as a bulleted list is the wall of text the feature exists to replace.

It also does not run in Clockify, Hubstaff or Time Doctor; it is part of Tarly, which is the portal our own agency runs on and offers by arrangement rather than a card-and-go product. The demo workspace shows the rest of the portal for an hour without signing up; the assistant is switched off there, because a demo that can write to records for anyone who opens it is the opposite of the point above. To see it act, ask for access.

Keep reading

More from the blog

Work with us

Want to work with us?

Book a free 30-minute discovery call. We'll review your store and tell you exactly what we'd do.