{% extends "_base.html" %} {% from "_partials.html" import avatar, number %} {% set active = 'savings' %} {% block title %}trovex — savings{% endblock %} {% block topbar_meta %} {{ "{:,}".format(totals.saved) }} tokens saved · last {{ days }}d {% endblock %} {% block head %} {% endblock %} {% block content %}

Token savings

estimated savings vs reading top-3 .md without trovex · model below
modeled estimate over {{ "{:,}".format(totals.queries) }} real quer{{ 'y' if totals.queries == 1 else 'ies' }}
{% for d in [1, 7, 14, 30, 90] %} {{ d }}d {% endfor %}
{% if totals.queries == 0 %} {# ── Empty state — honest, never fakes a number ───────── #}
No agent queries in the last {{ days }} days

Savings accrue as your coding agents call trovex for docs. Once queries land, this dashboard shows the modeled tokens saved versus reading the top-3 .md files by hand.

Try a wider window: last 90d
{% else %} {# ── Hero KPIs ─────────────────────────────────────────── #}
SAVED · LAST {{ days }}D
{{ "{:,}".format(totals.saved) }} tokens
{{ "%.0f"|format(totals.ratio * 100) }}% reduction vs no-trovex baseline
{# Stacked flow: would_have_read = saved + actual_read + overhead #} {% set whr = totals.would_have_read or 1 %}
would have read · {{ "{:,}".format(totals.would_have_read) }} = saved + actual read + overhead
saved {{ "{:,}".format(totals.saved) }} actual read {{ "{:,}".format(totals.actual_read) }} overhead {{ "{:,}".format(totals.response_tokens) }}
would have read {{ "{:,}".format(totals.would_have_read) }}
actual read (top-1) {{ "{:,}".format(totals.actual_read) }}
trovex response overhead {{ "{:,}".format(totals.response_tokens) }}
net saved {{ "{:,}".format(totals.saved) }}
queries {{ "{:,}".format(totals.queries) }}
{% if totals.queries > 0 %}
avg saved / query {{ "{:,}".format((totals.saved / totals.queries) | int) }}
{% endif %}
{# ── Daily trend (SVG area + line) ────────────────────── #} {% if daily %}
Daily saved {{ daily | length }} day{% if daily | length != 1 %}s{% endif %}
{% set max_saved = (daily | map(attribute='saved') | max) or 1 %} {% set n = daily | length %} {% set W = 1000 %}{% set H = 160 %}{% set PAD = 6 %}
peak {{ number(max_saved) }} / day 0
{% if n == 1 %} {% set d0 = daily[0] %} {% set y0 = PAD + (H - PAD) * (1 - (d0.saved / max_saved)) %} {% else %} {% set step = W / (n - 1) %} {%- set pts = [] -%} {%- for d in daily -%} {%- set x = (loop.index0 * step) | round(2) -%} {%- set y = (PAD + (H - PAD) * (1 - (d.saved / max_saved))) | round(2) -%} {%- set _ = pts.append(x ~ ',' ~ y) -%} {%- endfor -%} {% for d in daily %} {% set x = (loop.index0 * step) | round(2) %} {% set y = (PAD + (H - PAD) * (1 - (d.saved / max_saved))) | round(2) %} {{ d.day }} · {{ '{:,}'.format(d.saved) }} saved · {{ d.queries }} quer{{ 'y' if d.queries == 1 else 'ies' }} {% endfor %} {% endif %}
{% endif %} {# ── Per-user breakdown ───────────────────────────────── #} {% if per_user %}
Per user {{ per_user | length }} active
{% for u in per_user %} {% endfor %}
avatar user queries would have read saved ratio
{{ avatar(u.user, 22) }} {{ u.user }} {{ u.queries }} {{ "{:,}".format(u.would_have_read) }} {{ "{:,}".format(u.saved) }} {{ "%.0f"|format(u.ratio * 100) }}%
{% endif %} {# ── Top queries by savings ───────────────────────────── #} {% if top_queries %}
Top queries by savings
{% endif %} {% endif %} {# ── Model explainer ──────────────────────────────────── #}
How is "saved" computed?

Without trovex, an agent typically does Glob or Grep to find matching .md files, then Read the top 2-3 candidates to figure out which one is canonical. With trovex, they get a ranked list with status markers and read just the top-1.

would_have_read = ∑ tokens_est(result[0..3])
actual_read     = tokens_est(result[0])
overhead        = tokens(trovex output)
saved           = would_have_read − actual_read − overhead

Conservative — assumes the agent does still read the top result. If markers reveal that all results are stale or duplicates, real savings are higher and not captured here. These are modeled estimates over real query logs, never guaranteed exact.

{% endblock %}