Your development hours,
already filled in

And what the AI cost you, feature by feature. Estela rebuilds it from what your agents and your Git already wrote to disk.

npx estela setupcopy

No account, no card, nothing leaves your machine — and you don't have to take my word for it: the source is open with zero dependencies.

Needs Node 22.5 or higher.

Team · August
hours this period
138h 40m
+11h vs. previous period
AI cost
$137.20
$0.99 per hour worked
billable
67%
93h 45m of 138h 40m
unmerged branches
7
oldest, 19 days
Ana Ruiz 42h 15mmeasured
Marc Oliver 30h 02mmeasured
Lucía Ferrán 20h 18mestimated

This is the real dashboard, with sample data. Open it and expand any figure →

No timer, no hooks, no surveillance

A timer you have to remember to start always fails, and no one installs a program that spies on their terminal. Estela reads artifacts that already exist.

Reads what's already written

Claude Code, Codex and Copilot save every session to your disk, with the model and tokens. Estela reads them. It doesn't inspect processes, doesn't look at your terminal, and never stores the content of your prompts: only when, how much, and with which model.

Doesn't touch your Git

No hook installed, not a line added to your commit messages. They're read with git log and cross-referenced with sessions by timestamp, author, and branch. Your husky and your lefthook stay untouched.

And without AI too

If you coded by hand, your commits are still a trail: Estela deduces time from them and marks it as estimated, so you know what's measured and what's guessed.

What about my agent?

measured

Claude Code. Estela reads its sessions with the exact model, tokens and cache. The hours are measured, and the AI cost comes from what you actually spent.

measured

Codex. Estela reads its sessions too: exact model, tokens and cache, and even the git branch. Measured hours and real AI cost, same as Claude Code.

measured

GitHub Copilot in VS Code. Estela reads its chat and agent-mode sessions, on Windows, macOS and Linux: when each request starts and when it finishes. Measured hours. There's no AI cost because Copilot is a flat subscription, and inline completions leave no trace on disk: that time comes from your commits.

estimated

Cursor, Copilot in Visual Studio or JetBrains, Gemini CLI, Aider… and coding by hand. Their sessions aren't read yet, so no AI cost comes from them. The hours do: they're deduced from your commits and marked as estimated, so you never mistake a measured figure for a guessed one.

Your data stays on your machine

On the free plan, your sessions, your code and your hours never leave your machine. Nothing to configure: that's how it works.

All on your disk

What Estela reads and works out is stored in ~/.estela. The estela web dashboard only opens on your machine and loads nothing from the internet. It never stores the text of your prompts.

Few connections, and they switch off

Once a day it asks npm whether there's a new version, and estela delivery reads your GitHub or GitLab through your own gh or glab. With ESTELA_OFFLINE=1 it connects to nothing.

You decide what you publish

With an account, only what you turn on is uploaded. Before publishing a dashboard it shows you what will become public, and estela unpublish takes it down.

What each feature sends, one by one →

What no one else tells you

Logging hours is a feature that already exists for free in twenty places. What doesn't exist is knowing what each feature actually cost you, in human hours and in AI money, attributed to the same work.

Real cost, not per token

With a flat quota, the real cost isn't the sum of tokens — it's the quota split across what you consumed. Estela prorates it, and counts cache separately because it's usually most of the bill.

A panel your client actually uses

Share a read-only link with the hours and the commits that back them up. It's not a PDF attachment: it's the tool itself, and every figure expands down to the commits that produced it.

Metrics that don't inflate themselves

No lines of code, no commit counts, no productivity indices. Effort per feature, rework, rhythm, and unmerged work: what a project lead actually needs and can't dress up.

What every AI dollar delivered

Knowing how much you spend on AI isn't enough anymore: the question is on what. Estela ties every session to the branch, ticket and PR that came out of it, and tells you what each delivery cost, in hours and in money.

estela delivery --project northwind-app --month 2026-10
Planned versus delivered · northwind-app · Northwind Labs · 2026-10-01 → 2026-10-31
Plan: no plan · Source: git: the PRs from merge commits and from squashes ending in (#N)

Delivered (3)
                                                      Hours        API        Real
  PR #41 feature/bulk-export                        10h 12m     $12.86      $71.67
      merged 2026-10-20 · cost based on: the PR's branch, number in a branch or commit
  PR #48 feature/revenue-chart                       5h 10m      $6.14      $10.15
      merged 2026-10-27 · cost based on: the PR's branch, number in a branch or commit
  PR #42 fix/token-refresh                           3h 57m      $4.81      $32.31
      merged 2026-10-21 · cost based on: the PR's branch, number in a branch or commit
  Block total                                       19h 19m     $23.81     $114.13

API is what it would cost at API prices: it measures usage, it isn't money paid. Real is your subscription split by usage.

Swipe the output to see the numbers →

Real estela delivery output, on the made-up demo.

Planned versus delivered

Mark the plan with a label or a milestone in GitHub or GitLab and estela delivery tells you what shipped, what's half done, what slipped in unplanned and what each thing cost. Offline, it reads it from your git merges.

What each client asked for

With a cliente:Name label on issues and PRs (or your own prefix, such as client:), estela delivery --by client separates what you spent on each client's requests from everything else. Work that served several isn't split by eye.

A report for finance

estela summary puts together, in Markdown, CSV or JSON, what you paid for AI per client and project, what got delivered and what never shipped. A closed month adds up to exactly your subscription, not a cent more.

Every line says what it's based on: the PR's branch, a number in a commit, or something you set by hand. Whatever has no basis goes whole to "Unattributed", never spread around to make the numbers fit. And it reads GitHub or GitLab through your own gh or glab, and with --offline not even that: it repeats what it last read.

Pricing

The free plan runs entirely on your machine, so it costs us no servers and can afford to be genuinely generous. You pay when you want to see it from somewhere else, or when there's more than one of you.

A year costs what ten months do: two are on the house.

Free
Start here
$0 / forever
Everything local, no account, no card.
  • Agent and Git capture
  • Reports and AI cost
  • One shared panel
  • Export to CSV
  • This machine only
Install
Pro
Recommended
$9 / month
So every hour you work makes it onto the invoice.
  • Everything in Free
  • A dashboard for every client, no limit: they see progress without having to ask
  • Your dashboards, without Estela's branding
  • Your hours ready for Clockify, no copying by hand
  • No hour gets lost between your laptop and your desktop
  • Coming soon: Azure DevOps and Jira · vote
I want Pro I'd rather talk first
Teams
14 days free
$10 / person / month
When your team's time needs to be measured, not guessed.
  • From 3 people · $30/month minimum
  • Unlimited projects and a joint portfolio, no per-project cost
  • Measured team hours, not estimated
  • AI cost per project, with budget and alerts
  • Roles and permissions
Start the 14 days I'd rather talk first

The difference between Pro and Teams is simple: Pro is one person on several machines; Teams is several people. You pay for the people Estela actually measures, and projects are unlimited: adding one more costs nothing, so you can measure everything instead of picking what to watch. Teams starts at three people, which is where a team starts: on your own, Free or Pro is what you want. And a teammate's hours are only measured if they install Estela — until then they're an estimate from their commits, and it says so clearly.

AI cost is reported per project, never per person. What each person spends from their own pocket is theirs, and whoever contributes with their own subscription is excluded from the total — otherwise a simple subtraction would reveal it. Also, no one can tell who's paying by looking at a transcript: it's declared, not detected, and by default it's assumed you're paying for the AI yourself.

Install

One command. Reads what's already on your disk and shows you your last few months.

npx estela setupcopy

After that: npx estela web opens the panel, and npx estela doctor checks the data.

Already in Claude Code?

Then you don't have to leave. The plugin is the same program, with three skills Claude Code reaches for when they fit.

/plugin marketplace add jdleonruiz/estela-clicopy
/plugin install estela@estela-clicopy

Then just ask in plain words —"how many hours have I put into this?", "show me an example first"— and it finds the command on its own. /estela:demo fills a whole panel with made-up data and touches nothing of yours: see what it does before you let it near your own history.

Upcoming integrations

Today Estela exports to CSV and Clockify, and reads the plan from GitHub and GitLab. Next up is Azure DevOps: your hours in each task's Completed Work, without logging them by hand. Which one do you need? Vote: whatever's asked for most goes first.

Pro and Teams

Teams has a free 14-day trial and you sign up yourself in a minute: start here. What's below is for when you'd rather talk it through first — leave us your email and we'll write back ourselves, not an automated system.

A couple of questions

Write to us