
5 Mar 2026
Open-source framework that turns AI usage into measurable productivity data.
The Feeling Isn't Enough
Ask any knowledge worker whether AI makes them more productive and they'll say yes. They feel faster. They feel smarter. They feel like they're getting more done.
But ask them to put a number on it — and the answer falls apart.
"I think I save a few hours a week?" is not a business case. It's not a justification for a $20/month subscription. It's not the answer a CFO wants to hear when evaluating enterprise AI adoption.
The gap between feeling productive and proving productivity is where most organizations are stuck right now. And it's a problem that gets more expensive every year as AI usage scales across teams, departments, and entire enterprises.
The Measurement Problem
There's a simple reason nobody tracks AI productivity: there's been no easy, standardized way to do it.
You could manually log every AI interaction. You could survey employees. You could run controlled experiments. All of these work, but they're expensive, inconsistent, and hard to maintain at scale.
Meanwhile, the data is right there — sitting in your conversation history — waiting to be analyzed. Every prompt, every reply, every code block and email draft is a signal. The problem is nobody has built a clean, open tool to read those signals.
Until now.
Introducing OpenTracking
OpenTracking is an open-source Python framework that analyzes AI conversation history and answers the question you've been unable to answer: how much time is AI actually saving you?
Feed it your exported conversations from ChatGPT, Claude, Copilot, or any AI assistant. It returns:
• What type of work was being done (writing, coding, research, support, or casual chat)
• How much time was realistically saved, in minutes
• A weekly and monthly breakdown of your AI productivity patterns
• The split between genuinely productive and non-productive AI usage
The output looks like this:
This week:
23 conversations with AI
18 were productive (78%)
~4.2 hours saved
Breakdown: 2.1h code, 1.3h emails/docs, 0.8h research
That's not a survey estimate. That's your actual data — classified and quantified.
How It Works: A Three-Layer Pipeline
OpenTracking uses a layered approach that balances speed, cost, and accuracy.
Layer 1 — Signal Extraction (Free, Instant)
Every conversation is scanned for objective signals: word count, presence of code blocks, tool usage, domain-specific keywords, conversation length and structure, presence of deliverables like emails or documents.
These signals form a feature vector for each conversation.
Layer 2 — Rule Engine (Free, Deterministic)
Eight deterministic rules cover the clearest cases — a conversation where code was written, an email was drafted, a meeting was summarized, or the exchange was clearly casual. Around 70% of conversations are classified at this layer alone, with no API call, no cost, and no data leaving your machine.
Layer 3 — LLM Fallback (Optional, ~$0.001/conversation)
The remaining 30% — the ambiguous conversations — are optionally sent to Claude or GPT for classification. You control whether this layer runs, which provider handles it, and what model is used.
The result: fast, private, and surprisingly accurate classification without breaking the bank.
What Gets Classified
OpenTracking classifies every conversation into one of six activity types:
• work_creation — You produced a concrete output: code, document, email, plan
• work_research — You gathered information for a work purpose
• work_support — AI executed a process on your behalf: sent a message, ran a tool
• learning — You deepened your understanding of a topic
• personal_productive — Useful but non-work: trip planning, personal finance
• casual — Chitchat, jokes, testing the AI — tracked but not counted as productive
This taxonomy matters because not all AI usage is equal. A 45-minute conversation where Copilot helped you refactor a module is fundamentally different from a 20-minute movie recommendation debate. Both get tracked; only one gets counted.
How Time Savings Are Calculated
Every output type — email, code, document, research summary — has a benchmark range based on how long a human would take to produce it without AI assistance. OpenTracking uses conservative estimates by default.
• Drafting an email: 3–15 minutes saved
• Writing a code function: 15–60 minutes saved
• Research and synthesis: 15–45 minutes saved
• Creating a document: 10–30 minutes saved
You can customize these benchmarks for your workflow — if you're a fast typist or an experienced developer, adjust the numbers to fit your reality. The framework ships with a YAML-based benchmark table that's easy to override.
Three estimate modes are available: conservative (default), mid, and generous. Most teams should start with conservative to build credibility in their numbers before scaling claims up.
Why This Matters Right Now
AI adoption in the enterprise is accelerating, but the ROI conversation is still mostly anecdotal. Organizations are spending real money on AI subscriptions, infrastructure, and training — but the productivity case is built on vibes.
This creates two problems. First, it makes AI budgets vulnerable to cost-cutting when business conditions tighten. Second, it makes it impossible to optimize. You can't improve what you can't measure.
OpenTracking solves both. It gives individuals a way to understand their own AI habits — and organizations a framework to measure productivity impact at scale across teams, roles, and geographies.
Open Source, by Design
OpenTracking is MIT-licensed and built to be extended. The benchmark table is YAML-driven. New output types, activity categories, and classification rules can be contributed without touching core logic.
The framework is private by default: 70% of classifications happen entirely on your machine, with no data leaving your environment. LLM fallback is opt-in, with full control over provider and model.
If you work in AI productivity research, enterprise productivity analytics, or HR technology — OpenTracking is designed to be a foundation you can build on, not a black box you depend on.
https://github.com/ehtan-smaltai/OpenTracking
