Lead Vault is a modern Chrome extension popup that helps you capture, store, and manage useful URLs while browsing.
For a short GIF recording of the real extension popup, add assets/lead-vault-demo.gif and embed it in this section.
- Clean, intentional UI for a polished first impression
- Fast one-click capture of the current tab
- URL validation and automatic normalization (
https://handling) - Duplicate prevention to keep data clean
- Tag-based organization and filtering
- Search and sort controls for fast retrieval
- One-click JSON and CSV exports
- Optional Chrome Sync mode (
chrome.storage.sync) - Persistent storage with extension APIs
- Per-item remove plus quick full reset controls
- Accessible live status messages and keyboard support
- HTML5
- CSS3
- Vanilla JavaScript (ES6+)
- Chrome Extensions Manifest V3 APIs
manifest.json: Chrome extension config and permissionsindex.html: Popup layout and semantic structureindex.css: Visual design and responsive popup stylingindex.js: Main app orchestration and event flowjs/config.js: Shared constantsjs/storage.js: Chrome storage and legacy migrationjs/utils.js: URL normalization and safe formatting helpersjs/ui.js: DOM references, rendering, and status updates
- Open
chrome://extensions/in Chrome. - Enable Developer mode (top-right).
- Click Load unpacked.
- Select this project folder.
- Pin and open the extension from the toolbar.
- Run
npm testfor automated tests. - Run
npm run checkfor syntax checks.
- Run
npm run packageto generatedist/lead-vault-extension.zip. - Upload that zip to Chrome Web Store developer dashboard.
- Follow the release checklist in
docs/chrome-web-store-release.md.
- Release checklist:
docs/chrome-web-store-release.md - After publishing, add your public listing URL here.
- Built a storage layer that supports both
chrome.storage.localand optionalchrome.storage.sync. - Migrated old lead formats to a consistent object model.
- Added safer rendering and URL checks to reduce malformed input, merge duplicate tags, and keep data clean.
- Built a branded popup layout designed to feel portfolio-grade rather than scaffold-level.