VantalectFulcrum

Features

Everything between the agent and the number.

Thirty-three features in seven groups, every one shipping in the current release, with the same service layer under every surface. Nothing on this page is a roadmap.

A precision laboratory balance with a brushed-steel beam poised on a knife edge in indigo light.

See it in action

The dashboard, in your theme.

Views from a running installation. Each screenshot follows the theme toggle in the header: dark by default, light on request.

The Fulcrum dashboard with summary cards, two charts, a project table, and the records table (dark theme).The Fulcrum dashboard with summary cards, two charts, a project table, and the records table (light theme).
Dashboard. Summary cards, estimated human hours per day, daily leverage, a project breakdown, and the records table, with the Personal, Team, and Review tabs above them. Demo data: every figure belongs to StrataForge Robotics, a fictional company.
The Fulcrum records page with search, a project filter, export, and a sortable table (dark theme).The Fulcrum records page with search, a project filter, export, and a sortable table (light theme).
Records. A sortable, filterable table of every task with search, a project filter, and export. Demo data: every figure belongs to StrataForge Robotics, a fictional company.
The Fulcrum cost page with spend figures, by-model and by-activity tables, a yield table, and an optimizer finding (dark theme).The Fulcrum cost page with spend figures, by-model and by-activity tables, a yield table, and an optimizer finding (light theme).
Cost and ROI. Total spend, cost per task, hours saved per dollar, and leverage per dollar, with a breakdown by model and by activity, a yield table, and an optimizer grade. Demo data: every figure belongs to StrataForge Robotics, a fictional company.
The Fulcrum records list on a phone with search, a project filter, and stacked record cards (dark theme).The Fulcrum records list on a phone with search, a project filter, and stacked record cards (light theme).
Records on a phone. The records list at 375 pixels wide, with each record as a stacked card. Demo data: every figure belongs to StrataForge Robotics, a fictional company.

Demo data. These screenshots come from a demonstration installation. Every figure in them belongs to StrataForge Robotics, a fictional company, and none of it is a customer's record.

The numbers that matter

Metrics and measurement

Execution factor

Senior-engineer hours multiplied by 60, divided by agent minutes, as a ratio of sums over the whole record. The mean of per-task factors is kept and labeled as the task mean; it is never the headline.

Operator leverage

The same hours divided by the minutes you actually spent: prompt, active supervision, correction, and review, which must reconcile to the total. Computed only over records with complete operator-time coverage, and every result states the covered count and percentage.

Six published metrics

Aggregate execution factor, median task factor, arithmetic task mean, aggregate operator leverage, calendar compression, and capability expansion, each with a formula identifier so a reader can recompute it.

Calendar compression done honestly

Task level divides senior-hours by wall-clock span. Period level requires the union of intervals; overlapping spans are never summed as unique calendar time.

Capability expansion without fiction

Work that needed new learning, or was infeasible unaided, is classified and counted. No invented or infinite hour estimates, ever.

Computed in the database

The derived factors are generated PostgreSQL columns, recomputed on every write. No stale numbers, no client-side arithmetic, no two surfaces disagreeing.

Written at the time of the work

Capture

MCP server

Records, summaries, time series, project breakdowns, the day view, fatigue, prediction, project renames and merges, and cost and optimizer reports, callable by any MCP-capable agent at the end of a task. The input schema of record_leverage is derived from the same record model the API validates, so an agent cannot silently drop a field.

CLI

leverage add creates or idempotently updates a record from any shell or script, with every provenance field available as a flag, through the same API the dashboard uses.

REST API

/api/v1/records, analytics, fatigue, prediction, projects, users, and teams. OpenAPI-documented; the CLI, the MCP server, and the dashboard all consume it.

Idempotent by design

A client-generated record id is unique within an account. Retrying a create or a completion with the same id returns or updates the same canonical record instead of duplicating it.

Provenance on every number

Tokens are exact, estimated with a named rate, or unavailable. Estimates carry a basis and an author. Nothing is a bare integer with no story.

Corrections that keep the original

A correction never overwrites. The original row stays, the correction supersedes it, and public outputs carry only the effective record.

Bulk import with duplicate detection

Load historical records from CSV. A row that matches an existing user, date, and task is skipped and counted, so a spreadsheet migration or a re-run never doubles the record.

See the full picture

Analytics and review

Summary and time series

Totals and factors by day, week, month, or any window, with the record count and coverage that make each figure defensible.

Projects and repositories

Per-project breakdowns tie leverage to the codebases it came from, with commit and session identifiers on every record. Projects can be renamed and merged without touching a record.

Today and the day view

One call for the day so far: records, factors, hours saved, and the current fatigue level. The day view buckets those records into 24 hours and replays the fatigue curve over them.

The dashboard

React 19 and Recharts: the time series, project breakdowns, a fatigue gauge, leaderboards, and the records table. Both themes, follows the system preference, WCAG 2.1 AA contrast throughout.

Drafts, confirmation, and publication review

A record is a draft until confirmed. Publication requires an approved review and a public-safe restatement of the task; raw task text never crosses the boundary.

Search and export

Search every task description you have ever logged; export any date range or project as CSV or JSON. The record is yours, and it is portable.

Cost and ROI

Every record can carry a dollar cost priced per model from its token breakdown. The cost page shows total spend, cost per task, hours saved per dollar, and leverage per dollar, by model and by activity, with a yield split (productive, reverted, abandoned) and an optimizer grade.

Protect your judgment

Decision support

Decision fatigue assessment

A continuous score from today's confirmed records: record count at half weight, cumulative operator minutes and session duration at a quarter each, less a recovery discount for time away from the keyboard. Grounded in the research on glutamate accumulation in the lateral prefrontal cortex during sustained cognitive work, not a mood survey.

Four levels

Low at 0 to 3 records, Moderate at 4 to 7, High at 8 to 12, Very High at 13 and up. The level is what the agents read.

Recovery recommendations

Priority-ranked interventions with the rationale attached, calibrated to the current level, the time of day, and the work pattern, rather than generic advice to take a break.

Agent guidance

Guidance the agents apply to themselves. At low fatigue they ask clarifying questions; at high fatigue they minimize decision points, choose the conventional path, and present completed work rather than options.

Know before you start

Prediction

Predictive leverage estimation

predict_leverage finds the most similar tasks in your own record and estimates the factor for the one you are about to start, so a team plans against its own history rather than a vendor's benchmark.

For more than one operator

Teams and access

Users and teams

Personal records roll up to teams. Leaderboards rank by execution factor over any window, with the same coverage rules as the published metrics.

API keys

Per-user keys, hashed with argon2id at rest, created, revoked, and regenerated from the dashboard or the API.

Three ways to authenticate

Mutual TLS from your fleet, service tokens for other services, and OpenID Connect sign-in for people, in that order of precedence.

Rate limiting

One hundred requests a minute per client by default, configurable, so a runaway script cannot take the API down for everyone else.

Installed where your engineers work

Operate

Self-hosted

FastAPI on Python, SQLAlchemy 2.0 with asyncpg, PostgreSQL 17, and a React dashboard built by Vite. The API builds as a container image and runs on ECS, Kubernetes, or a single Docker host.

Migrations and seeding

Alembic migrations and a seed for first boot. A fresh database is ready in one command.

Health check

A health endpoint for your load balancer, unauthenticated, so it works before anything is signed in.

Snapshot contract

One immutable publication build emits CSV, JSON, summary, time series, methodology, corrections, and a manifest with SHA-256 for every sibling file. The website, the download, and the daily rollups all consume the same snapshot.

How it works

From task to insight.

  1. 01

    Log the task

    At the end of the task the agent records the description, the senior-engineer estimate, the agent minutes, and the operator minutes, through MCP, the CLI, or the API.

  2. 02

    Compute the factors

    The database computes the execution and operator factors on write. The dashboard, the CLI, and the API read the same columns.

  3. 03

    Assess fatigue

    The day's confirmed records drive the fatigue score, the level, the recovery recommendations, and the guidance the agents apply to themselves.

  4. 04

    Review and publish

    Confirm drafts, review corrections, and publish a snapshot with a manifest and hashes when you want a record other people can check.

Technical specifications

What is in the box.

Backend

  • FastAPI on Python 3.12 or later
  • SQLAlchemy 2.0 with asyncpg
  • PostgreSQL 17 with generated columns
  • Alembic migrations and a first-boot seed
  • API keys hashed with argon2id
  • Rate limiting, 100 requests a minute by default
  • MCP server for any MCP-capable agent

Dashboard

  • React 19 and Recharts
  • Time series, project breakdowns, and leaderboards
  • Fatigue gauge with recovery recommendations
  • Records table with search, filters, and export
  • Light and dark themes, contrast held to WCAG 2.1 AA
  • Responsive layout, down to a phone

Integrations

  • Claude Code and any MCP-capable agent
  • CLI for shells, scripts, and cron
  • REST API with OpenAPI documentation
  • CSV and JSON export with date and project filters
  • CSV import with duplicate detection
  • Cost and optimizer reports

Fatigue model

  • Grounded in the glutamate-accumulation research
  • Continuous 0 to 1 score with a recovery discount
  • Four levels: Low, Moderate, High, Very High
  • Priority-ranked recovery recommendations
  • Agent guidance by level

Licensing

Measure it before you argue about it.

One annual license installs Fulcrum in your environment: the API, the dashboard, the CLI, and the MCP server your agents already know how to call. $1,199 per year. Included for a year with every Vantalect leverage engagement.

Request a license

Installed in your environment, on your hosts, under your identity provider.