MindKeep — AI-powered second brain Chrome extension
← RETURN TO BASE
CHROME EXTENSION GOOGLE AI CHALLENGE 2025 2025

MINDKEEP

Your personal AI-powered second brain — 100% local, fully private. Semantic search, encrypted notes, and an in-page AI assistant powered entirely by Google Gemini Nano on-device.

TypeScriptReact 18PlasmoGemini NanoTransformers.jsWeb Crypto APIDexie.jsTipTapTailwind CSSChrome MV3
Challenge Google Chrome Built-in AI 2025
Period 2025
Domain AI / Chrome Extension
Language TypeScript

About

> cat mission_briefing.txt CLASSIFIED...

Every day you're forced to make an impossible choice: use smart cloud AI tools that upload your private data to third-party servers, or use dumb local tools with zero intelligence. MindKeep breaks this trade-off.

Built for the Google Chrome Built-in AI Challenge 2025, MindKeep is the first tool to bring the AI to your data rather than your data to the AI. It uses Google's Gemini Nano — running entirely on-device — to understand your notes semantically, generate answers, and assist you across the entire web without a single byte of your data leaving your browser.

The result: an intelligent second brain that is both maximally smart and 100% private. No cloud. No subscriptions. No compromises.

How It Works

01

Save a Note

You write or paste content into MindKeep's rich text editor.

↓
02

Generate Embedding

Transformers.js creates a 384-dimensional vector embedding locally in the browser — no server involved.

↓
03

Encrypt and Store

Note content is encrypted with AES-GCM (Web Crypto API) and stored in IndexedDB alongside its embedding.

04

Ask a Question

You ask anything in natural language — "What was that AWS key for production?"

↓
05

Vector Similarity Search

Your query is embedded and compared against stored note vectors. Semantically relevant notes are retrieved — not just keyword matches.

↓
06

Gemini Nano Responds

Decrypted matching notes are passed as context to Gemini Nano, which generates a precise, grounded answer — all on-device.

Capabilities

🧠

100% Local AI

Powered by Google Gemini Nano running entirely on-device via the Chrome AI API. Your notes, thoughts, and data never leave your browser — zero cloud dependency.

🔍

Semantic Search

Ask questions in natural language and find notes by conceptual meaning — not just keywords. Powered by local vector embeddings generated with Transformers.js.

🔐

Encrypted Storage

All note content is encrypted at rest using the Web Crypto API (AES-GCM) before being saved to IndexedDB. Your private data stays unreadable outside the extension.

⚡

In-Page AI Assistant

An AI assistant that surfaces on any input field across the web — helping you write emails, fill forms, or generate code using your personal notes as context.

✍️

Rich Text Editor

A full-featured TipTap editor supporting tables, images, code blocks, and lists — giving you a professional writing experience right in the browser.

🎭

Custom AI Personas

Create custom AI behaviours — 'Email Writer', 'Code Helper', 'Meeting Summariser' — each with its own system prompt and tone to tailor responses to specific tasks.

My Contributions

▸Architected the local-first AI pipeline integrating Google Gemini Nano with Transformers.js for fully on-device semantic search
▸Built the encrypted note storage system using the Web Crypto API (AES-GCM) with Dexie.js as the IndexedDB layer
▸Developed the in-page AI assistant using Chrome's content script APIs and the Prompt / Rewriter APIs
▸Implemented the Persona system using stateful LanguageModel sessions with token usage tracking and quota warnings
▸Engineered the full Chrome MV3 extension using Plasmo framework with React 18, TypeScript, and Tailwind CSS
▸Integrated the Summarizer API to auto-generate note titles from pasted content

Challenges Overcome

⚠Running semantic vector search entirely in-browser without any server round-trip while keeping latency imperceptible
⚠Managing Chrome AI API session lifecycles with token quota limits across multiple concurrent Gemini Nano instances
⚠Synchronising encrypted IndexedDB storage with real-time vector embedding updates without blocking the UI thread
⚠Building a content-script overlay that injects seamlessly into any website's DOM without style conflicts

Installation

> cat install.sh READY
01Enable Chrome flags: #prompt-api-for-gemini-nano and #optimization-guide-on-device-model → set to Enabled, then relaunch Chrome
02Download mindkeep-v1.zip from the GitHub Releases page and unzip it
03Open chrome://extensions, enable Developer mode, click Load unpacked, and select the unzipped folder
04Pin the MindKeep icon to your toolbar and start capturing your second brain
← RETURN TO PROJECTS