Author: Bagavati Narayanan
A semantic search engine for your Chrome bookmarks — powered by AI embeddings, FAISS, and FastAPI.
Stop scrolling through endless bookmark lists — just ask what you remember, and Bookmark AI finds it instantly.
Bookmark AI allows you to search your Chrome bookmarks using natural language rather than titles or keywords.
It understands the context behind your saved pages by embedding the actual content and performing semantic search.
Key Highlights:
- Semantic retrieval over real bookmark content
- Chrome Extension + FastAPI backend
- Google Gemini embeddings + FAISS for similarity search
- Works seamlessly across all bookmark folders
- Blazing-fast query responses through local vector database
- One-click semantic search over saved bookmarks
- AI-powered understanding of what you meant, not just what you typed
- Content-based indexing — extracts page text, not only titles
- Full-folder coverage — searches across your entire Chrome tree
- Lightweight and fast — stores embeddings locally via FAISS
- Frontend + Backend integration for real-time search
-
Fetch Bookmarks
- Uses Chrome’s Bookmark API to retrieve all saved links.
-
Extract Content
- Scrapes title + body text of each URL using
BeautifulSoup.
- Scrapes title + body text of each URL using
-
Generate Embeddings
- Transforms page text into vector representations using
GoogleGenerativeAIEmbeddings(via LangChain).
- Transforms page text into vector representations using
-
Store in FAISS
- Builds a local FAISS vector database for fast similarity queries.
-
Semantic Query
- User enters a natural question → system retrieves the most relevant saved bookmarks, even if titles don’t match exactly.
| Component | Technology |
|---|---|
| Frontend (Chrome Extension) | |
| Language | JavaScript |
| APIs | Chrome Bookmark API |
| UI Library | Semantic UI |
| Rendering | DOM manipulation & dynamic rendering |
| Backend | |
| Framework | Python + FastAPI |
| HTTP Requests | httpx |
| Web Scraping | BeautifulSoup |
| LLM Orchestration | LangChain |
| Vector Database | FAISS |
| Embeddings | GoogleGenerativeAIEmbeddings |
# Clone the repo
git clone https://github.com/your-username/bookmark-ai.git
cd bookmark-ai/backend
# Install dependencies
pip install -r requirements.txt
Note: Use your Gemini API key by pasting it in app.py:
# Run the FastAPI server
uvicorn app:app --reloadThis project is licensed under the Creative Commons Attribution–NonCommercial 4.0 International (CC BY-NC 4.0) License.
You are free to:
- Share — copy and redistribute the material in any medium or format.
- Adapt — remix, transform, and build upon the material.
Under the following terms:
- Attribution — You must give appropriate credit and link back to this repository.
- NonCommercial — You may not use this material for commercial purposes.
No additional restrictions — you may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
📄 Full License: Creative Commons BY-NC 4.0
© 2025 Bagavati Narayanan. All rights reserved.

