HistoryFinder lets you search, filter, and manage your browsing history using natural language(like old Google history).
You can query your history for the at least 30 days ago and delete individual items directly from the popup.
Features include:
Search using plain English queries ("I watched a video yesterday", "My Github repo last week").
Automatic keyword extraction and timeframe recognition.
Results scoring to show the most relevant history items first.
Delete individual history entries with a 🗑️ button.
Info popup for user guidance.
(keep in mind, not every browser supports extensions)
- Clone or download the repository.
- Open your browser and search for extensions [mostly with a puzzle icon top-right]
- Enable Developer mode (top right)
- Click Load unpacked → select the folder containing the extension files (manifest.json, popup.html, popup.js, popup.css, background.js)
- The extension icon will appear in the toolbar.
HistoryFinder/
│
├─ manifest.json
├─ background.js
├─ src/
│ ├─ view/
│ │ ├─ popup.html
│ │ ├─ popup.css
│ │ └─ popup.js
├─ ├─controller/
│ │ └─ searchController.js
│ ├─ model/
│ │ ├─ historyManager.js
│ │ ├─ indexer.js
│ │ └─ storageManager.js
│ ├─ utils/
│ │ ├─ queryParser.js
│ │ ├─ scorer.js
│ │ └─ timeExtractor.js
- Click the HistoryFinder icon in Chrome.
- Enter your query in natural language. -Examples: ⦁ "I saw some headphones yesterday" ⦁ "My GitHub repo from last week" ⦁ "Youtube video about Linux"
- Click Search (or press Enter)
- Results appear, showing:
- Click 🗑️ to delete a specific history item.
- Hover or click the i button in the header to see instructions.
As this extension poitns to be fully private and local of each user, the permissions used are:
- "history" → For reading and delete Chrome browsing history
- "storage" → Optional, for future saving of settings
popup.js is modular:
parseQuery() → separates keywords and timeframe
scoreResults() → calculates relevance score
renderResults() → dynamically builds result list
performSearch() → main search function connecting all parts
CSS ensures clean UI:
.hidden class toggles visibility
.result-item:hover provides hover feedback
.spinner animates during search if needed
Info popup positioning is absolute below the info button
- Allow customizable timeframes beyond 30 days
- Add bulk delete for multiple items
- Save search history within the extension for offline queries
- Dark/light theme toggle
- Amplification of match precisions.