Skip to content

For consultants and studios

The hours are already logged by the time you invoice.

Track the work — or let your coding agents track it for you — then turn it into a proposal, an invoice, and a signed sign-off without retyping any of it.

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 record, from the pitch to the payment

  1. Proposal

    Fixed-bid, not-to-exceed, a range, or time and materials. Priced, sent, and signed with a real e-signature.

  2. The work

    Time by timer, by hand, or logged by your agents. Every entry carries its author, its project, and its category.

  3. Invoice

    Built from the entries you pick — grouped by project, task, person or ticket — with expenses split out from services.

  4. Sign-off

    Release notes and delivery documents your client signs — the same signing surface as the proposal.

Your client gets a link, not a login

One page with their sign-offs, their invoices, their proposals and their release notes. Nothing else of yours.

Turn it on for a customer and Shyre mints one long, unguessable link. The link is not a password: opening it asks for an email address, and only an address already on the roster is sent a six-digit code. Everyone else gets the same “check your email” screen and no code — so a client who forwards the link has not given anyone access.

The roster is one you already keep

The customer's contacts, the approvers on their projects, and your own owners and admins. Shyre lists every person who can get in, and why, before you send anything. Remove someone from Contacts and they are locked out on their next request — the roster is re-read on every page load, so there is no session to wait out.

A draft cannot arrive by accident

Unsent proposals and draft invoices never reach the page. Your time entries, your cost rates and your internal notes are not on it in any state — the only rate a client can see is one you quoted them yourself, on their own proposal. A portal belongs to one customer by construction.

The figure agrees with the paper

Invoices show the amount still due rather than the original total, so it matches the PDF already in their hand after a part payment. A voided invoice still appears, struck through and labelled.

Portals ship switched off. A portal that turns itself on is a disclosure nobody chose.

They sign for what you delivered

Not a receipt after the invoice — the gate before you deploy.

Write the release notes, tick which proposal line items this release delivered, and send it. Your client opens a link, verifies by email code, and signs. The signature attests those specific line items, and the delivery is recorded against the proposal — so a fixed-bid fee is discharged against something the client agreed was done.

The selection freezes when you send

What the signature covers is fixed at send, not at signature. Nobody can widen the scope of an agreement after it is in front of the person signing it.

The signed record cannot be edited

The signed copy is stored content-hashed, with the signer's address and browser recorded alongside it, and reissuing means cancelling and sending again — there is no quiet amendment.

The same signing surface as the proposal

Your client learns one flow. Proposal at the start, release sign-off at the end, both signed the same way.

What the signature records

Every signature — a proposal or a release sign-off — captures the same evidence, and the record is built so you can show it to someone who asks.

  • A link per signer, not a shared one
  • A one-time code to their own address, five attempts then locked
  • The exact document frozen and hashed at the moment of signing
  • The signer's address and browser, recorded with it
  • An append-only event log, with no path for a client to write to it
  • A stated meaning for the signature — author, reviewer or approver

If your client's regulator has requirements of its own, tell us what they are before you buy and we will walk you through exactly how this behaves.

It reads your own prose back to you before it goes out

The failure this exists for actually happened.

A release sign-off went to a client with an unticked box reading “Countersigned acceptance — the gate for this deploy”, and under it “To be completed as a record after the deploy.” She countersigned a document whose own text said her countersignature was still pending. The body freezes the moment you send, so it reads that way permanently.

So the send confirmation reads the document back first — the overview, the terms and every line item.

And it never blocks the send. A draft marker can be deliberate. You are the one who knows.

Before you send

Three things worth a look. None of them stops you.

Send anywayBack to editing

The hours arrive attached to the ticket

Point a project at its issue tracker once and every entry that names a key links itself — logged by an agent or typed by you. Then invoice grouped by ticket, so your client reconciles your invoice against their own backlog instead of taking a total on faith.

One timer. We looked hard at letting you run several.

Parallel agents make concurrent timers sound obvious, and Shyre refuses them. Start a second timer yourself and the first one stops; an agent asking to start one while any timer runs is refused outright. Either way you are never on two clocks. The reason is on the invoice: billing two clients for the same hour is the oldest way to lose one, and any export showing more than twenty-four hours in a day is a number an accountant flags on sight.

Agent work is recorded as finished blocks with their own windows instead, so parallel work still lands — on one clock. An entry that overlaps one you already have on the same project is refused, and the refusal names the window it collided with and the earliest start that would be accepted, to the second.

Your agent's hours don't reach a client unreviewed

Agent-logged time flows into the same pipeline as your own, but the invoice builder shows it as its own section — with an overlap warning when it collides with hours you logged yourself, and one click to exclude it. There is no approval queue to keep on top of, and nothing is auto-merged or auto-deleted behind your back.

Shyre warns. It never decides for you.

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.

Fixed-bid work is a first-class citizen

Most consulting isn't hourly any more. Quote a number, track the hours against it, and see whether you hit it — the Profitability view compares the fee you quoted against the hourly value of the time you actually spent.

Fixed-bid projects are excluded from hourly invoicing on purpose, so the fee never bills twice.

A fixed-bid engagement, mid-flight
Hourly value spent
$18,720
Fee quoted
$24,000

78% of the fee consumed. Margin is still yours — and you can see it before the project ends, not after.

Every figure is hidden until you reveal it

The Financials tab opens masked — amounts and hour counts both. Press H or click Reveal to see them, H or Escape to hide everything again. Customer and project names stay visible, so you can still navigate. Hidden figures are genuinely absent rather than covered: a screen reader cannot read a number you have hidden either. The choice lasts the browser session, so opening the tab fresh in front of a client is always safe.

Safe by default, rather than safe if you remember. Built for the moment you share your screen and your own margin is on it.

Bring your history with you

Import from Harvest or a CSV. Already-invoiced entries keep their billed state instead of arriving as fresh unbilled work, and the whole import undoes in one click if it comes in wrong.