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