Inspiration

We’ve all been there — 20+ tabs open, Slack pinging, a YouTube video still playing, and the one tab you need is buried. Browsers give us power but not peace. Tabitha was born from a simple idea: talk to your tabs and get back to focus — with privacy baked in.


What it does

Tabitha is a Chrome extension that lets you speak or chat to manage tabs:

  • 🗣️ Voice + Chat control: “Open Gmail”, “Close all YouTube tabs”, “Pin my calendar”, “Reopen last closed tab”.
  • 🔍 Smart search & disambiguation: Find by title, domain, or remembered content; resolve “the first one” or “close those”.
  • 🧩 Auto-organization: Group by Intent, Activity, Domain, or Session with preview and undo.
  • 🎧 Meeting-aware muting: Detects Zoom/Meet/Teams and auto-mutes noisy tabs; learns your preferences.
  • 🔒 On-device AI: All understanding and summaries run locally with Gemini Nano (Chrome’s built-in AI).

How I built it

  • Manifest V3 extension with a service worker (background.js) orchestrating features.
  • Offscreen document (offscreen.html/js) to access Prompt and Summarizer APIs for intent parsing, semantic rerank, and summaries.
  • IndexedDB indexer for fast lexical search over titles/domains/gists, then semantic re-rank via Prompt API.
  • Modules:
    • chat-for-tabs/ — intent parsing, search, actions, conversation memory
    • talk-to-tabs/ — speech recognition and text-to-speech
    • organize-tabs/ — intent/activity/domain/session modes + snapshots/undo
    • mute-tabs/ — meeting detection, auto-mute, notifications
  • Privacy by design: No servers, no cloud. Everything runs locally with optional Origin Trial tokens for Chrome’s on-device AI.

Challenges I ran into

  • ⚙️ Prompt routing & determinism: Ensuring reliable intent extraction from natural, messy speech.
  • 🧠 Disambiguation UX: Making “close those” or “the first one” feel natural and context-aware.
  • Performance vs. accuracy: Balancing fast lexical search with semantic understanding.
  • 🎙️ Meeting detection edge cases: Handling overlapping meetings and multiple noisy domains gracefully.

Accomplishments that I'm proud of

  • 🧭 A fully private, on-device assistant that truly reduces tab chaos.
  • 🎯 Intent-based organization that makes tab management intuitive.
  • 🔇 Learning mute behavior that automatically reduces distractions.
  • 🪄 Built-in undo system and structured logging for developer clarity.

What I learned

  • 🔍 How to compose Chrome’s AI APIs (Prompt, Summarizer) with extension primitives for real-world use.
  • ⚙️ The power of two-stage retrieval — local indexing + semantic rerank — for precision and speed.
  • 💡 The importance of micro-interactions like disambiguation and memory for trustworthy AI UX.

What's next for Tabitha

  • 🧠 Richer memory & routines: “Every morning, open my standup set” or “When I join Meet, mute Slack and YouTube.”
  • Lightweight automations: Focus sessions, tab hibernation, and smart cleanup rules.
  • 🌍 Multilingual support: Extend Translator and Language Detector for global accessibility.
  • 🚀 Open beta & user testing: Collect feedback locally (no cloud data) to refine UX.

If your browser feels like chaos, Tabitha turns it into a conversation.

Built With

Share this project:

Updates