Skip to content

How it works

From a log line to the customer it hurt.

Your app sends its logs over OpenTelemetry or plain JSON. Libra works out which customer each line belongs to, notices when a customer is failing, and tells you why in one sentence, with the lines to prove it.

01 · Spot

Every log line, grouped by customer.

Most of what an app logs is healthy, which is exactly how one account's failures go unnoticed. Libra sorts lines by the customer they belong to, so a problem that touches one account is not averaged away by everyone else.

Each customer gets a one-word status first: needs attention, healthy, or new. The detail comes after.

CustomersExample

Northwind

CRM updates failing for 3 of 8 people since Tuesday.

Globex

Salesforce rejects edits to locked deals.

Initech

Invoice PDFs time out on large accounts.

Umbrella

No problems.

Hooli

No problems.

Vandelay

First logs arrived today.

02 · Understand

The reason, in plain English.

A problem is one or two short sentences that name who is affected, what broke and the likely reason, written so anyone on the team can follow it.

The exact log lines sit directly underneath. Nothing is a claim you have to take on trust.

Northwind · CRM updatesExample
Needs attention3 of 8 people · since Tuesday

HubSpot won't accept Northwind's contact updates. The software_used field is read-only on their side, so every save that touches it is rejected.

The log lines behind it

hubspot.contacts.update status=400 company=northwind
error="Property software_used is read-only"
retry 3/3 failed, contact left unchanged

03 · Fix

Hand it to your coding agent.

Copy a finding into Claude Code, Cursor or Codex. It carries its log lines, so the agent starts from the cause.

You review the change like any other. Libra never pushes to your repo.

claude · ~/appExample

Pasted from Libra Logs

Northwind: HubSpot rejects contact updates because software_used is read-only. 3 matching log lines attached.

> find the cause and propose a fix

syncContact() sends software_used on every update. HubSpot calculates that field, so stop writing it:

src/crm/field-map.ts

- software_used: contact.tools,

+ // software_used is calculated by HubSpot. Never write it.

Every morning

One briefing: who needs attention.

The dashboard opens on the customers who need you today and the reason for each. The rest are marked healthy.

Connect Slack and the same briefing arrives in a channel.

Briefing · Wednesday, 8:00Example

3 customers need attention

Everyone else is healthy.

  1. 01

    Northwind

    HubSpot rejects contact updates. software_used is read-only on their side.

  2. 02

    Globex

    A Salesforce validation rule locks deals, so edits never save.

  3. 03

    Initech

    Invoice PDFs time out for accounts with very long invoices.

On your dashboard every morning. In Slack too, if you connect it.

When it breaks

Tagged when a customer breaks from their usual.

Libra learns what normal looks like for each customer. When one drifts far from it, the right person is tagged in Slack with the reason and a log line.

#customer-healthExample

Libra LogsAPP9:42 AM

@maya Northwind just broke from its usual. Its CRM updates are failing far more than normal for this account: HubSpot rejects writes to software_used, a read-only field.

hubspot.contacts.update status=400 company=northwind
Open Northwind

See your own customers.

Connect your logs and the first customers appear as soon as lines arrive.