Nova is an intelligent, privacy-preserving browser activity monitor that leverages hybrid AI to analyze your digital habits. By combining the speed and privacy of on-device inference (Cactus + FunctionGemma) with the reasoning capabilities of the cloud (Gemini), Nova provides real-time insights without compromising user data.
- Privacy-First Analysis: Your browsing data is analyzed locally on your device by default. Sensitive information never leaves your machine unless complex reasoning is required.
- Hybrid Intelligence: Seamlessly switches between a lightweight local model (FunctionGemma 270M) for speed and a powerful cloud model (Gemini 3.0 Flash) for complex tasks.
- Real-Time Categorization: Instantly categorizes web activity (e.g., Coding, Social Media, Productivity) and assesses productivity risk.
- Chrome Extension: A lightweight browser extension captures events and provides a live feed of your digital footprint.
- Optimized for Apple Silicon: Built on the Cactus engine, delivering up to 3000 tokens/sec prefill speed on M-series chips.
- On-Device AI: Google FunctionGemma (270M parameters) running on Cactus.
- Cloud AI: Google Gemini 3.0 Flash for fallback reasoning.
- Backend: Python, FastAPI, Uvicorn.
- Frontend: Chrome Extension (Manifest V3), HTML/JS/CSS.
- Tooling:
cactus-pythonSDK,google-genaiSDK.
├── monitor-backend/ # 🧠 The Brain
│ ├── main.py # FastAPI server & AI orchestration
│ ├── tools/ # AI Tool definitions (API, Context)
│ └── storage/ # Local data persistence
├── chrome-extension/ # 👁️ The Eyes
│ ├── manifest.json # Extension config
│ ├── background.js # Event capture & API communication
│ └── popup.js # User interface
├── hackathon-challenge/ # 🧪 The Lab
│ ├── main.py # Hybrid routing logic (The Core Challenge)
│ └── benchmark.py # Performance evaluation suite
└── docs/ # 📚 DocumentationNova operates on a three-tier architecture designed for minimal latency and maximum privacy:
- Presentation Layer: The Chrome Extension captures user interactions (page loads, inputs) and sends them to the local server.
- Application Layer: The Monitor Backend receives events, manages session state, and orchestrates the AI analysis.
- Intelligence Layer: The Hybrid Router determines the best execution path:
- Local Path: Uses FunctionGemma via Cactus for fast, private inference (typical latency: 50-100ms).
- Cloud Path: Falls back to Gemini 3.0 Flash when the local model's confidence is low or the task is too complex (typical latency: 500ms+).
The core innovation in Nova is its Hybrid Routing Strategy. Instead of relying solely on the cloud (slow, privacy-invasive) or solely on the edge (limited reasoning), we implemented a dynamic router:
- Confidence-Based Routing: We utilize the confidence scores returned by the Cactus engine. If the local model is >99% confident, we use its result immediately.
- Latency Optimization: By prioritizing the local model, we achieve near-instantaneous feedback for the user, essential for a real-time monitoring tool.
- Graceful Fallback: If the local model struggles or returns a low-confidence score, the system seamlessly delegates the task to Gemini Cloud, ensuring high accuracy even for ambiguous inputs.
- macOS with Apple Silicon (M1/M2/M3/M4).
- Python 3.9+.
- Google Chrome.
-
Clone the repository:
git clone https://github.com/switchchat/extension.git cd extension -
Run the setup script: This will create a virtual environment, install dependencies, and start the backend.
./start.sh
-
Install the Chrome Extension:
- Go to
chrome://extensions. - Enable "Developer mode".
- Click "Load unpacked" and select the
chrome-extensionfolder.
- Go to
-
Start Browsing:
- Open the extension popup to see the connection status.
- Browse the web, and watch Nova analyze your activity in real-time!
This project is licensed under the MIT License - see the LICENSE file for details.