Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Promptify: Your AI usage, quantified.

Promptify is a 100% local, privacy-first browser extension for Chrome and Firefox that automatically tracks your active time across popular AI conversational platforms (ChatGPT, Claude, Gemini, Perplexity, Qwen, DeepSeek, Kimi, Copilot, and Grok).

There are no servers, no telemetry, and no accounts required. All data is stored in your browser's local IndexedDB, keeping your usage data entirely in your hands.


Supported Platforms

Currently, the extension automatically tracks active tabs for:

  • ChatGPT (chatgpt.com), including Codex (chatgpt.com/codex)
  • Claude (claude.ai)
  • Gemini (gemini.google.com), including Flow (flow.google), NotebookLM (notebook.google.com), and Veo (aistudio.google.com/veo)
  • Perplexity (perplexity.ai)
  • Qwen (chat.qwen.ai, qianwen.com)
  • DeepSeek (chat.deepseek.com, deepseek.com)
  • Kimi (kimi.ai, kimi.moonshot.cn, kimi.com)
  • Copilot (copilot.microsoft.com, copilot.cloud.microsoft, m365copilot.com, m365.cloud.microsoft)
  • Grok (grok.com)

Local Installation (Unpacked Extension)

Since Promptify is currently in development and not published to a store, you can install it directly from the source code for Chrome and Firefox:

Chrome

  1. Clone or Download the Repository:

    git clone https://github.com/Horrid-12/promptify.git

    Or click Code > Download ZIP and extract it to a folder.

  2. Open Chrome Extensions:

    • In Chrome, navigate to chrome://extensions/
    • Alternatively, click the puzzle piece icon in the top right and select "Manage extensions".
  3. Enable Developer Mode:

    • Toggle the Developer mode switch in the top right corner of the Extensions page.
  4. Load Unpacked:

    • Click the Load unpacked button in the top left.
    • Select the folder where you cloned/extracted promptify (the folder containing manifest.json).
  5. Ready!

    • The Promptify extension icon will appear in your browser. Pin it to your toolbar for easy access to your stats.

Firefox

  1. Build the extension: run node build.js from the repo root to produce dist/chrome and dist/firefox.
  2. Open Firefox and navigate to about:debugging#/runtime/this-firefox.
  3. Click Load Temporary Add-on and select firefox/manifest.json from the build output.

How It Works

Promptify uses a highly optimized state machine running entirely in the browser:

Component Responsibility
Content Scripts Injected only on supported AI sites. Detects when the user is actively interacting (mouse moves, clicks, typing) or if the tab is visible. Sends heartbeat events.
Service Worker Runs in the background (src/background.js, src/platforms.js, src/db.js). Maintains the state of the active session. If it receives heartbeats, it accumulates time. If the tab is closed, hidden, or idle, it finalizes the session and saves it.
IndexedDB The local database (src/db.js) where completed sessions are permanently stored.
Analytics Dashboard A fully local, Neo-Brutalist dashboard (pages/dashboard/dashboard.html) to visualize daily, weekly, and monthly usage.

Tracking Rules

A session is considered active only when:

  1. The AI website is the active browser tab
  2. The browser window is focused
  3. The page is visible
  4. The user has interacted recently (mouse, keyboard, click, scroll)

Inactivity timeout: 5 minutes of no interaction ends the session.

This means idle time is never counted, even if you leave an AI tab open in the background for hours.


Directory Structure

Promptify/
├── manifest.json        # Extension configuration
├── build.js             # Build script (outputs Chrome + Firefox builds)
├── dist/                # Build output
│   ├── chrome/          # Chrome build
│   └── firefox/         # Firefox build
├── src/                 # Core extension logic
│   ├── background.js    # Service worker (session management)
│   ├── content.js       # Content script (activity detection)
│   ├── analytics.js     # Data aggregation functions
│   ├── db.js            # IndexedDB wrapper
│   └── platforms.js     # Supported AI platform definitions
├── pages/               # UI Components
│   ├── dashboard/       # Main analytics view
│   └── popup/           # Extension popup view
└── assets/              # Static media (icons, logos)

Privacy Policy

Promptify does not track you.

  • No data leaves your machine.
  • No analytics tools are used.
  • No external requests are made.

All session durations are stored locally in your browser's IndexedDB. You can export or delete your data at any time from the dashboard footer.

Screenshots

1 2 3

About

A browser extension to track active time across popular AI platforms

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages