Memory Vault π§ πΎ
Inspiration
Have you ever struggled to find a webpage you visited weeks ago? You remember the topic, but not the exact title or URL, making your standard browser history search unhelpful. π€
We built Memory Vault to solve this! π It's a Chrome extension that lets you search your browsing history using the concepts or the gist of what you remember, not just keywords. Just describe what you're looking for, and Memory Vault helps you find it! β¨
What it does
Memory Vault creates a searchable, personal archive of your browsing history, stored entirely on your computer for privacy π.
- π Captures Content: Automatically extracts the main text from pages you visit.
- π§ Understands Meaning: Uses Google's Gemini AI to create vector embeddings (semantic fingerprints) of the content.
- πΎ Stores Locally: Saves these embeddings securely in your browser's IndexedDB.
- π Semantic Search: When you search, it compares the meaning of your query to your history, finding relevant pages even without exact keyword matches.
It essentially gives your browser history a better memory and understanding of context.
How we built it π οΈ
Memory Vault uses standard Chrome Extension technologies:
- Content Script: Extracts text from web pages.
- Background Service Worker: Manages storage (IndexedDB), interacts with the Gemini API for embeddings, and handles search logic.
- User Interface: A simple popup and a dashboard for searching and viewing recent history.
- AI Integration: Leveraged the Gemini API for generating text embeddings.
- Local Storage: Used IndexedDB for efficient, private storage.
- Vector Similarity: Implemented logic to compare embeddings for semantic relevance.
Challenges we ran into π€―
Building software always has hurdles! Our main challenges included:
- Managing the Chrome Service Worker lifecycle (they go inactive!).
- Reliably extracting content from diverse and dynamic websites.
- Handling asynchronous operations and API calls correctly.
- Working effectively with IndexedDB for data storage.
Accomplishments that we're proud of π
We're thrilled we could:
- Build a working semantic search for browser history! π
- Successfully integrate the Gemini AI for text embeddings β¨.
- Create a tool that solves a genuine problem we often encounter.
- Ensure all user browsing data remains private and local π.
- Develop an intuitive interface for exploring past browsing πΊοΈ.
What we learned π‘
This project was a fantastic learning experience:
- Deepened our understanding of Chrome Extension architecture (Manifest V3).
- Gained practical experience with Service Workers and IndexedDB.
- Learned how to integrate and utilize AI APIs like Gemini.
- Improved our skills in asynchronous JavaScript and debugging complex browser interactions.
What's next for Memory Vault π
We have many ideas for the future!
- Advanced Filtering: Add options to filter searches by date or domain π .
- Optional Sync: Allow users to sync their history across devices if desired π»βοΈ.
- Improved UI/UX: Continue refining the search and browsing experience.
Memory Vault aims to make your browsing history truly useful and easily accessible! π
Log in or sign up for Devpost to join the conversation.