CalWizz Browser Extension โ Proposal
TL;DR: A Chrome extension that puts your schedule health score in the toolbar, overlays meeting insights directly onto Google Calendar, and gives you one-click access to your CalWizz analytics without ever leaving your browser. Think of it as CalWizzโs always-on dashboard that lives where you actually work โ your calendar.
Last updated: January 2026
1. Concept & Value Prop
The Problem
CalWizz already gives teams deep calendar analytics and the unique Schedule Health Score. But right now, you have to actively go to app.calwizz.com to see any of it. Thatโs a friction problem:
- People donโt check analytics proactively โ they check when something already went wrong
- Your schedule health score could warn you before you overbook your Wednesday, not after
- Google Calendar is where the action is โ thatโs where meetings get created, accepted, and declined
- Flowtrace already has calendar add-ins showing meeting costs inline. We need to be in the same arena
The Solution
CalWizz for Chrome โ a lightweight extension that:
- Badge icon in the toolbar showing your real-time schedule health score (color-coded: green/yellow/red)
- Popup dashboard with todayโs stats at a glance โ one click, no tab switch
- Google Calendar overlay that enriches your calendar page with CalWizz insights (meeting costs, focus blocks, warnings)
- Smart notifications โ โYour Wednesday is at 31 health score. Consider declining something.โ
Why Someone Would Install This
The pitch is simple: โSee your schedule health score without leaving Google Calendar.โ
For existing CalWizz users, itโs a no-brainer upgrade โ the insights they already value, delivered faster. For new users, itโs a low-friction entry point to CalWizz โ install the extension, connect your calendar, see your score in 60 seconds. Way easier than signing up on a website first.
The extension also doubles as a marketing channel โ itโs listed in the Chrome Web Store, visible to anyone searching for โcalendar analyticsโ or โmeeting productivity.โ
2. Core Features (MVP / v1)
Keep this tight. Ship fast, learn from usage, iterate.
2.1 Toolbar Badge โ Schedule Health Score
- CalWizz icon in Chrome toolbar
- Badge shows todayโs health score as a number (0-100)
- Background color changes: ๐ข green (70+), ๐ก yellow (40-69), ๐ด red (below 40)
- Updates every 15-30 minutes (configurable)
- One glance tells you how your day looks
2.2 Popup Dashboard (Click the Icon)
A compact popup (400px ร 500px) with:
- Todayโs Schedule Health Score โ big number, front and center, with trend arrow (โโโ)
- Meeting Load โ โ4 meetings today (3.5 hrs)โ with a simple progress bar
- Focus Time โ โ2.5 hrs of uninterrupted time remainingโ
- Next Meeting โ name, time, attendee count, in X minutes
- Week Overview โ tiny bar chart showing health score per day this week
- Quick Link โ โOpen full dashboard โโ to app.calwizz.com
2.3 Google Calendar Page Enhancement (Content Script)
When viewing calendar.google.com, inject CalWizz insights:
- Daily health score badge โ small colored dot on each day in month/week view
- Meeting cost indicator โ subtle โ$โ icon or dollar amount on meetings (based on estimated attendee cost)
- Focus time blocks โ light green highlight on detected focus time periods
- Overload warning โ if a day exceeds healthy meeting thresholds, show a gentle โ ๏ธ
2.4 Authentication
- โSign in with CalWizzโ button in popup
- Opens app.calwizz.com/auth in a new tab, handles OAuth flow
- Extension stores session token securely
- If user doesnโt have a CalWizz account, redirect to signup โ upsell into the full product
2.5 Basic Notifications
- Morning briefing (optional, 8-9 AM): โTodayโs schedule health: 62. You have 5 meetings.โ
- Overload alert: Triggered when todayโs score drops below a threshold
- Configurable โ users can turn off notifications entirely
3. Nice-to-Have Features (v2+)
v2: Deeper Calendar Integration
- Inline meeting insights on hover โ hover over any meeting in Google Calendar and see CalWizz data (recurring cost, attendance patterns, โthis meeting has no agendaโ flag)
- Quick decline suggestions โ โBased on your calendar health, consider declining: [meeting name]โ with one-click decline
- Meeting cost calculator overlay โ real-time cost estimate as you create a new meeting (add attendees โ see cost tick up)
- Weekly digest notification โ summary of the past weekโs calendar health + trends
v3: Team Features
- Team health dashboard in popup โ see your teamโs aggregate score (for managers)
- Sidebar panel (instead of just popup) โ full sidebar within Google Calendar with richer analytics
- โShould this meeting exist?โ AI nudge โ ML-based suggestion for recurring meetings that show low value patterns
- Outlook Web support โ extend content scripts to outlook.office.com
- Slack integration hook โ share your daily score to a Slack channel from the extension
v4: Power User Features
- Calendar heatmap โ month view colored by health score
- Focus time auto-block โ create focus time blocks directly from the extension
- Meeting prep cards โ before a meeting starts, show a card with context (last meeting notes, attendee info, agenda)
- Export/share โ share your schedule health report as a link
4. Technical Architecture
4.1 Extension Structure (Manifest V3)
calwizz-extension/
โโโ manifest.json # Extension config, permissions, service worker
โโโ background/
โ โโโ service-worker.js # Badge updates, alarms, API polling, notifications
โโโ popup/
โ โโโ popup.html # Popup UI shell
โ โโโ popup.js # Popup logic, API calls, rendering
โ โโโ popup.css # Styling (CalWizz brand colors)
โโโ content/
โ โโโ calendar-overlay.js # Injected into calendar.google.com
โ โโโ calendar-overlay.css # Overlay styles
โโโ options/
โ โโโ options.html # Settings page
โ โโโ options.js # Notification prefs, refresh interval, etc.
โ โโโ options.css
โโโ lib/
โ โโโ api.js # CalWizz API client wrapper
โ โโโ auth.js # Token management, refresh logic
โโโ assets/
โ โโโ icon-16.png
โ โโโ icon-32.png
โ โโโ icon-48.png
โ โโโ icon-128.png
โโโ _locales/ # i18n if needed later
4.2 Manifest V3 Config
{
"manifest_version": 3,
"name": "CalWizz โ Schedule Health Score",
"version": "1.0.0",
"description": "See your calendar's health score at a glance. Meeting insights, focus time tracking, and smart alerts.",
"permissions": [
"storage",
"alarms",
"notifications",
"activeTab"
],
"host_permissions": [
"https://app.calwizz.com/*",
"https://calendar.google.com/*"
],
"background": {
"service_worker": "background/service-worker.js"
},
"action": {
"default_popup": "popup/popup.html",
"default_icon": {
"16": "assets/icon-16.png",
"32": "assets/icon-32.png",
"48": "assets/icon-48.png",
"128": "assets/icon-128.png"
}
},
"content_scripts": [
{
"matches": ["https://calendar.google.com/*"],
"js": ["content/calendar-overlay.js"],
"css": ["content/calendar-overlay.css"],
"run_at": "document_idle"
}
],
"options_page": "options/options.html",
"icons": {
"16": "assets/icon-16.png",
"48": "assets/icon-48.png",
"128": "assets/icon-128.png"
}
}4.3 Permissions Breakdown
| Permission | Why | User Trust Impact |
|---|---|---|
storage | Store auth token, cached data, user preferences | Low risk โ standard |
alarms | Periodic polling for badge updates (every 15-30 min) | Low risk โ standard |
notifications | Morning briefing, overload alerts | Medium โ users can disable |
activeTab | Read current tab for context (which calendar view) | Low risk โ only when clicked |
host_permissions: app.calwizz.com | API calls to CalWizz backend | Expected โ itโs our own API |
host_permissions: calendar.google.com | Content script injection for overlays | Medium โ clearly explained in store listing |
What we DONโT need (and should explicitly not request):
tabs(broad) โ we donโt need to see all tabshistoryโ none of our businesscookiesโ use chrome.storage instead<all_urls>โ absolutely not
Minimal permissions = better Chrome Web Store approval + higher user trust.
4.4 API Communication
The extension talks to the existing CalWizz Flask backend via a dedicated extension API namespace:
GET /api/ext/v1/health-score โ Today's score + trend
GET /api/ext/v1/today โ Today's meeting summary
GET /api/ext/v1/week โ Weekly overview (scores per day)
GET /api/ext/v1/meeting/:id/insights โ Per-meeting data (cost, patterns)
POST /api/ext/v1/auth/token โ Exchange auth code for token
POST /api/ext/v1/auth/refresh โ Refresh expired token
Key design decisions:
- Lightweight payloads โ extension endpoints return minimal JSON, not the full dashboard data
- Aggressive caching โ cache health score locally with 15-min TTL; no reason to hammer the API
- Auth token in chrome.storage.local โ encrypted, not accessible to content scripts directly
- Rate limiting โ server-side, max 100 requests/hour per user (more than enough for polling)
- CORS โ backend needs to whitelist the extensionโs origin (
chrome-extension://<id>)
4.5 Data Flow
โโโโโโโโโโโโโโโโโโโโโโโ
โ CalWizz Backend โ
โ (app.calwizz.com) โ
โ Flask + PostgreSQL โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
REST API (HTTPS)
โ
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโผโโโโโโโ โโโโโโโผโโโโโโ โโโโโโโโผโโโโโโโโ
โ Service Worker โ โ Popup โ โContent Script โ
โ (background) โ โ (UI) โ โ(Google Cal) โ
โ โ โ โ โ โ
โ โข Poll API โ โ โข Fetch โ โ โข Receives โ
โ every 15min โ โ on โ โ data via โ
โ โข Update badge โ โ open โ โ messaging โ
โ โข Send notifs โ โ โข Render โ โ โข Inject UI โ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ
Content scripts canโt make cross-origin requests directly (Manifest V3 restriction), so they message the service worker which handles API calls and passes data back.
5. UI/UX Mockup Descriptions
Color System
Using CalWizzโs existing palette:
- Primary Green
#2d5a3dโ headers, primary buttons, score when healthy - Dark Forest
#1a3d2aโ backgrounds, deep accents - Sage
#8B9D83โ secondary text, borders, subtle elements - Warning Yellow
#D4A03Cโ medium health score - Alert Red
#C44536โ low health score, overload warnings - Background
#F8F9F7โ off-white with slight green tint - Text
#1a1a1aโ near-black for readability
5.1 Popup โ Signed Out State
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [CalWizz Logo] โ
โ โ
โ ๐ Your calendar's health โ
โ score, always visible. โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Sign in with CalWizz โ โ โ Primary green button
โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ Don't have an account? โ
โ Start free โ โ โ Links to calwizz.com
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
5.2 Popup โ Main Dashboard (Signed In)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Today Mon, Jan 27 โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โโ
โ โ โญโโโโโโฎ โโ
โ โ โ 64 โ โ from 71 โโ โ Big score, trend arrow
โ โ โฐโโโโโโฏ โโ
โ โ Schedule Health Score โโ
โ โ โโ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ ๐
4 meetings โข 3.5 hrs โ
โ โโโโโโโโโโโโโโโโโ 67% โ โ Meeting load bar
โ โ
โ ๐ฏ Focus time: 2.5 hrs โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โ โ Focus blocks visualization
โ โ
โ โญ๏ธ Next: Sprint Planning โ
โ in 45 min โข 8 people โ
โ โ
โ โโโ This Week โโโโโโโโโโโ โ
โ M T W T F โ
โ ๐ข ๐ก ๐ด ๐ก ๐ข โ โ Dot per day, color = score
โ 78 64 31 52 73 โ
โ โ
โ Open full dashboard โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
5.3 Google Calendar Overlay โ Week View
On the actual Google Calendar week view page:
- Top-right corner: Small CalWizz widget showing todayโs score in a circle
- Day column headers: Tiny colored dot (green/yellow/red) next to each day name
- Meeting blocks: Subtle overlay in bottom-right corner of each event:
$42(estimated meeting cost) โ small, gray text- โ ๏ธ icon if meeting has no agenda or has 8+ attendees
- Focus blocks: Light green dashed border around detected focus periods
- Daily summary bar: Thin bar at the top of each day column showing meeting-to-focus ratio
Visual style: Non-intrusive. Everything CalWizz adds should feel like a natural extension of Google Calendar, not a popup-ad-style overlay. Use transparency, small fonts, and positioning that doesnโt interfere with calendar interaction.
5.4 Notification โ Morning Briefing
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ CalWizz โ
โ โ
โ Good morning! Today's health: 58 โ
โ 5 meetings (4.2 hrs) โข 2 back- โ
โ to-back blocks. Consider โ
โ declining the 2pm sync? โ
โ โ
โ [View Details] [Dismiss] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
5.5 Options Page
Simple settings page:
- Refresh interval: 15 min / 30 min / 1 hour
- Notifications: Toggle morning briefing, overload alerts, weekly digest
- Morning briefing time: Time picker (default 8:30 AM)
- Overload threshold: Score below which to alert (default: 40)
- Google Calendar overlay: Toggle on/off, toggle individual elements (costs, focus blocks, warnings)
- Account: Email shown, โSign outโ button, โOpen CalWizz settings โโ
6. Integration with Existing CalWizz
What Needs to Change on the Backend
The existing Flask app at app.calwizz.com needs:
- New API endpoints (
/api/ext/v1/...) โ lightweight, extension-optimized responses - CORS configuration โ allow requests from the extensionโs Chrome origin
- Token-based auth for extension โ separate from the browser session auth; generate a long-lived API token that the extension stores
- Extension-specific rate limiting โ prevent abuse without being annoying (100 req/hr is generous for polling every 15 min)
What Doesnโt Change
- The core analytics engine stays the same โ extension just reads computed data
- No new data processing pipeline needed โ extension consumes the same scores/insights the web app shows
- Google Calendar OAuth flow is unchanged โ user has already connected their calendar via the web app
- Database schema unchanged โ no extension-specific tables needed for v1
Auth Flow
1. User clicks "Sign in with CalWizz" in popup
2. Extension opens app.calwizz.com/auth/extension in new tab
3. User logs in (or is already logged in)
4. Server generates extension API token
5. Redirects to app.calwizz.com/auth/extension/callback?token=xxx
6. Content script on that page sends token to extension via chrome.runtime.sendMessage
7. Extension stores token in chrome.storage.local
8. Popup reloads with authenticated state
This keeps the extension thin โ it doesnโt handle OAuth with Google directly, just authenticates with CalWizzโs own backend.
New User Flow (Acquisition Channel)
For users who install the extension before having a CalWizz account:
1. Install extension from Chrome Web Store
2. Click extension icon โ sees "Sign in" screen
3. Clicks "Start free" โ opens calwizz.com signup
4. Signs up, connects Google Calendar
5. Returns to extension โ signs in
6. Immediately sees their health score
The extension becomes a top-of-funnel acquisition channel โ people discover it in the Chrome Web Store, install it, and that drives signups to the main product.
7. Distribution & Marketing
Chrome Web Store Listing
Name: CalWizz โ Schedule Health Score for Google Calendar Category: Productivity Short description: See your calendarโs health score at a glance. Meeting cost tracking, focus time insights, and overload alerts โ right in your browser.
Detailed description highlights:
- โYour schedule health score, always one click awayโ
- โMeeting cost calculator built into Google Calendarโ
- โGet warned before your day becomes a meeting marathonโ
- โFocus time tracking without opening another tabโ
Screenshots: 5 required, show:
- Popup dashboard with health score
- Google Calendar with overlay (meeting costs, focus blocks)
- Toolbar badge (close-up, showing green/yellow/red states)
- Morning briefing notification
- Week overview with per-day scores
Keywords to target in store SEO:
- calendar analytics, meeting analytics, schedule health, meeting cost, focus time, Google Calendar extension, meeting productivity, calendar management
Marketing Angle
Launch tweet thread:
We just shipped CalWizz for Chrome ๐
Your schedule health score now lives in your toolbar.
No more switching tabs to check if your calendar is healthy.
Here's what it does (thread):
1/ ...
Blog post: โIntroducing CalWizz for Chrome โ Your Calendarโs Health Score, Always Visibleโ
Product Hunt: Perfect for a standalone Product Hunt launch (separate from the main app launch). โChrome Extensionโ launches perform well on PH.
Cross-promotion:
- Prompt existing CalWizz users to install the extension (in-app banner)
- Include extension link in the CalWizz welcome email
- Mention it in the biweekly newsletter
Reddit:
- Share in r/chrome_extensions, r/productivity, r/SaaS
- Genuine post: โI built a Chrome extension that shows your calendarโs health scoreโ
Chrome Web Store Considerations
- Review time: 1-3 business days for new extensions
- Developer fee: One-time $5 registration
- Privacy policy required โ need a page on calwizz.com/privacy explaining what data the extension accesses
- Data disclosure: Chrome Web Store now requires a data practices disclosure. CalWizz extension accesses: calendar data (via backend API), authentication tokens. It does NOT access: browsing history, personal communications, financial data.
8. Effort Estimate
MVP Scope & Timeline
| Component | Effort | Notes |
|---|---|---|
| Backend: Extension API endpoints | 2-3 days | New routes, token auth, CORS setup |
| Extension: Manifest + project scaffolding | 0.5 day | Boilerplate, build tooling |
| Extension: Auth flow | 1-2 days | Token exchange, storage, refresh logic |
| Extension: Service worker (badge + polling) | 1-2 days | Alarms API, badge rendering |
| Extension: Popup UI | 2-3 days | Dashboard layout, data fetching, styling |
| Extension: Google Calendar content script | 3-5 days | DOM manipulation, overlay injection, style matching |
| Extension: Options page | 0.5-1 day | Settings UI, storage sync |
| Extension: Notifications | 1 day | Chrome notifications API |
| Assets: Icons, screenshots | 0.5-1 day | Multiple sizes, store screenshots |
| Chrome Web Store: Listing + review | 0.5 day + wait | Description, privacy policy, submission |
| Testing & polish | 2-3 days | Cross-browser, edge cases, UX polish |
| Total MVP | ~2-3 weeks | One developer, focused sprint |
Assumptions
- One person building this (Adam or a contractor)
- CalWizz backend already computes health scores and meeting analytics (just needs new API surface)
- No complex build tooling โ vanilla JS for v1 is fine (Vite/React for v2 if popup gets complex)
- Testing on Chrome only for v1 (Edge + Brave compatibility is free with Chromium, but not formally tested)
Ongoing Maintenance
- ~2-4 hours/month โ Google Calendar DOM changes occasionally and content scripts may break. This is the main maintenance burden. Monitor and fix.
- Chrome Manifest V3 is stable now, so no major migration risk.
9. Competitive Advantage
What Other Calendar Extensions Do
Most calendar-related Chrome extensions fall into two buckets:
- Scheduling tools (Calendly, Cal.com) โ add scheduling links and booking flows. Zero analytics.
- Meeting enhancers (Fellow, Fireflies) โ focus on meeting content (notes, transcription). Calendar-level insights are an afterthought.
Flowtrace has Google Calendar and Outlook add-ins that show meeting costs, but theyโre calendar add-ins (Google Workspace Marketplace), not browser extensions. Different distribution channel, different install experience.
What Makes CalWizz for Chrome Different
| Advantage | Why It Matters |
|---|---|
| Schedule Health Score in toolbar | No one else puts a calendar health metric in the browser toolbar. Itโs a constant, passive awareness tool. |
| Google Calendar enrichment | Meeting costs, focus blocks, and health indicators overlaid directly on Google Calendar. Not a separate dashboard, not a sidebar โ integrated into the page youโre already looking at. |
| Score-first, not schedule-first | Clockwise/Reclaim extensions manage your schedule. CalWizz evaluates it. Complementary, not competing. |
| Low-friction CalWizz onboarding | Extension โ signup โ connected in 2 minutes. Easier acquisition funnel than asking someone to visit a website cold. |
| Individual AND team context | Personal score + team comparison (v2). Manager installs it and immediately sees both their calendar health and their teamโs. |
The Moat
The extension itself isnโt hard to build. The moat is CalWizzโs analytics engine and the Schedule Health Score algorithm. The extension is just a delivery mechanism for a unique insight that no other tool generates. Someone could clone the extension UI in a week, but theyโd need to build the entire calendar analytics backend to make it useful.
Positioning Statement
CalWizz for Chrome is the only browser extension that gives you a real-time schedule health score. It turns your toolbar into a calendar health monitor and your Google Calendar into an insight-rich dashboard โ without leaving the page.
10. Open Questions & Risks
A few things to think about before committing:
Technical Risks
- Google Calendar DOM stability โ Google changes their Calendar UI periodically. Content scripts that inject into the DOM can break. Mitigation: keep overlay injection simple, use MutationObserver for resilience, and build a monitoring alert for when the overlay stops working.
- Manifest V3 service worker lifecycle โ service workers in MV3 are ephemeral (they get killed after 30 seconds of inactivity). Badge updates need to use the Alarms API, not setInterval. This is a known pattern โ not hard, just different from MV2.
Business Questions
- Free or paid? Extension should be free (itโs a delivery mechanism for CalWizz, not a standalone product). Gate it behind CalWizz authentication โ free CalWizz tier gets basic extension features, paid tier gets everything.
- When to build this? Itโs a nice marketing channel and UX improvement, but itโs not critical path. Best timing: after the core CalWizz product is stable and youโre looking for growth levers.
- Firefox? Manifest V3 is supported in Firefox now, but the Google Calendar content script is Chrome-specific value. Table Firefox unless thereโs demand.
- Google Workspace Marketplace add-in (like Flowtrace) vs. Chrome extension? The Chrome extension is easier to build and distribute. A Workspace add-in has deeper integration (sidebar within Google Calendarโs native UI) but requires Google Workspace Marketplace approval, which is slower and more complex. Recommendation: Chrome extension first, Workspace add-in later.
Metrics to Track
- Installs โ Chrome Web Store downloads
- Daily active users โ how many people have the extension active
- Popup opens per day โ are people actually clicking it?
- Signup attribution โ how many new CalWizz accounts come through the extension flow?
- Calendar overlay engagement โ are people keeping the overlay on or turning it off?
Summary โ Is This Worth Building?
Yes, but with the right timing.
The extension is:
- โ A natural extension (pun intended) of CalWizzโs value prop
- โ A new acquisition channel (Chrome Web Store discovery)
- โ A way to make CalWizz โalways onโ instead of โsometimes visitedโ
- โ A competitive response to Flowtraceโs calendar add-ins
- โ Relatively cheap to build (~2-3 weeks for MVP)
Itโs NOT:
- โ A replacement for the full CalWizz web app
- โ A standalone product (it depends on the backend)
- โ Urgent โ itโs a growth lever, not a survival feature
Recommended timing: Build it after CalWizz has at least 100-200 active users and the core product analytics are solid. The extension amplifies value that needs to exist first.
Estimated cost: 2-3 weeks of dev time for MVP. If hiring a contractor, budget ~$3-5K for a solid Chrome extension developer.
Proposal by Reggie. Ready for Adamโs review and red pen.