Skip to content

For teams inside a business

Finance gets the numbers. Developers get their time back.

Your team's coding agents record the time as they work — attributed to the developer who ran them, sorted into the right project and category, and permanently labeled with the agent that produced them. Nobody fills in a timesheet.

Request access

Shyre is in early access and accounts are set up by hand. Tell us what you work on and we'll be in touch.

One Claude Code session, as Shyre measures it

Not counted
09:1210:31
Activity, sampled from the agent's own tool callsA gap longer than your idle cap never becomes time — fifteen minutes by default, and each person sets their own in their own shell.

One entry: 47 min, attributed, categorized

What this is, and what it isn't

It is an operational measure of engagement

It tells you that the Platform team spent most of last quarter in the billing service, and it does that without asking anyone to write it down. If your finance team has zero data today, this is the difference between a guess and a number.

It is not a payroll or capitalization record

The hours are sampled from agent activity, not clocked labor, and the idle cap is set per developer. We are not going to call that audit-grade, because it isn't.

Hours, and now what they cost

Cost rates have shipped — an effective-dated hourly cost per person, visible to owners and admins only, so Reports can show what a quarter of engineering actually cost. Internal chargeback is next.

Attribution, immutable

Which agent, on whose behalf, in which session — and the database refuses to let that be edited afterwards, including by an administrator.

And then what finance actually gets

Measuring the hours is half of it. This is the half that has to add up.

Reports, by project and by person

Hours and billable share over any period, per project and per person, with a lens that separates what a human logged from what an agent did.

What the quarter cost

An effective-dated hourly cost per person — owner and admin only — so a quarter of engineering has a number beside it, not just a duration.

Release approval, held on the record

Release notes with a named approver roster, and a sign-off the publish flow asks for before you ship. When someone asks who approved it, the answer is a record rather than a thread.

Closed periods stay closed

Lock a period and the database refuses to change it — enforced by a trigger, not by a screen that hides the button.

Which ticket, not just which project

Finance asks what an hour was against. The row answers it.

Entry description

Linked to

Wherever the key falls in the sentence, and for either tracker, the row carries the link. Reports group by ticket, and an invoice line can name one.

A number you cannot see is not a zero

Every figure on a Shyre screen has four possible answers, and three of them are not a number.

The four states

There is a value. There is a genuine nothing. There is “we could not load it”, which draws as a dash and never as $0.00. And there is “you are not permitted to see this”, which says so — a query hidden by permissions comes back empty with no error, so without that fourth state it is indistinguishable from an empty desk.

It applies to cost too

A cost figure carries the hours it covers — “cost known for 6.7h of 10.0h” — because an hour nobody priced is not an hour that cost nothing. Where the hours in view were priced in more than one currency the total is withheld rather than converted at a rate nobody chose.

And it runs the other way

A section that disappears on a good day cannot be told apart from one that broke, so “Nothing past due” says “Nothing past due” instead of vanishing.

A confident $0.00 you were never permitted to see is worse than no number at all.

Close a period and the database stops arguing

Not a screen that hides the button. A refusal, one level beneath every screen.

Lock through a date and an edit inside it raises an error whoever the caller is — including a cost rate that would start on or before the lock, and any change to a locked invoice's amounts, issue and due dates, or customer. Dragging an entry's date into the window from outside is refused too.

What stays open, on purpose

Marking a locked invoice paid still works, and so does recording the payment against it. A payment landing a month later is ordinary, and a lock that refused it would be a lock nobody could live with.

Both directions are recorded

Every lock and unlock is kept in a table that only ever gains rows, and unlocking makes you type the word. The lock itself has no edit path — changing a date means unlocking and locking again, which is two entries in the record rather than none.

Your developers already hate this. That's the point.

Shyre is the only time record where the answer to "who's going to fill this in?" is nobody.