PromptOS
PromptOS is a Manifest V3 Chrome Extension for local AI usage analytics. It tracks prompt activity on ChatGPT and Claude, then turns that activity into a compact, premium dashboard with streaks, goals, achievements, timelines, heatmaps, and a shareable Wrapped card.
PromptOS - The Operating System For Your AI Life
Features
- Tracks prompt submissions on
https://chatgpt.com/* and https://claude.ai/*
- Uses MV3
content_scripts and chrome.storage.local
- Keeps all analytics local to your browser
- Detects Enter submits, send button clicks, and form submits
- Debounces submissions to avoid double counting
- Skips empty prompts
- Preserves daily counts by platform:
{
"2026-05-06": {
"chatgpt": 12,
"claude": 7
}
}
- Stores future prompt events with timestamps for timeline analytics:
{
"events": [
{
"platform": "chatgpt",
"timestamp": 1779123456789
}
]
}
Dashboard
- Daily prompt counts for ChatGPT and Claude
- Lifetime prompts
- Current streak and top streak
- Daily average
- Most active hour
- Weekly activity chart
- AI usage heatmap with selected-day details
- Daily Timeline with 24 hourly bars
- Daily Goal with editable local goal, progress bar, and achievement states
- Compact achievement badges
- Smart Insights generated locally from stored stats
- Viral PromptOS Wrapped section with persona, weekly total, top day, top hour, platform, and streak
- Export Wrapped as a PNG social share card using Canvas API
- Reset data button
Privacy
PromptOS is local-first:
- No API calls
- No external libraries
- No CDN
- No remote code
- No analytics server
- No account system
- Data stays in
chrome.storage.local
The extension stores prompt counts, platform names, and timestamps for analytics. It does not send your activity anywhere.
Local Installation
- Open Chrome and go to
chrome://extensions.
- Enable
Developer mode.
- Click
Load unpacked.
- Select this extension folder.
- Pin PromptOS from the extensions menu for quick access.
Testing Checklist
- Reload the unpacked extension in
chrome://extensions.
- Visit
https://chatgpt.com/.
- Send a non-empty prompt with Enter.
- Send another non-empty prompt with the send button.
- Open the PromptOS popup and confirm ChatGPT counts increased.
- Visit
https://claude.ai/.
- Send prompts with Enter and the send button.
- Open the popup and confirm Claude counts increased.
- Check the Daily Timeline for current-day hourly bars.
- Click heatmap cells and confirm date, total prompts, platform counts, day rank, and empty states.
- Change the Daily Goal input and confirm the progress bar and status update.
- Check achievements for locked and unlocked badges.
- Review Smart Insights for 2-3 local insights.
- Check PromptOS Wrapped for total week prompts, most active day, most active hour, primary platform, streak, and persona.
- Click
Export Wrapped and confirm a PNG social share card downloads.
- Open the popup DevTools console and confirm there are no console errors.
Files
manifest.json - MV3 metadata, permissions, popup, background worker, content script matches, and version
content.js - prompt submission detection and local storage updates
popup.html - dashboard markup
popup.css - premium dark glassmorphism dashboard styles
popup.js - local analytics, streaks, goals, timeline, achievements, insights, heatmap, Wrapped export, and reset behavior
background.js - install-time storage initialization
Notes
PromptOS uses flexible selectors and event delegation so it is less brittle when ChatGPT or Claude make small DOM changes. Since these apps can change their UI at any time, submission detection may need future selector tuning for production use.
All dashboard animations, graphs, heatmaps, goals, achievements, insights, and image exports are implemented with local HTML, CSS, JavaScript, and Canvas APIs. No framework, external CDN, or remote hosted code is used.