Used by 500+ active users to supercharge browsing productivity
Quickeys is a Chrome extension that lets you create personalized keyboard shortcuts for faster, smoother browsing.
With 50+ built-in actions across navigation, tab management, media control, accessibility, and more, you can automate repetitive browser tasks — no mouse required.
Quickeys solves the problem of repetitive browser actions by allowing you to create custom keyboard shortcuts for your most-used tasks.
Whether you want to close all other tabs, mute a video instantly, or run custom JavaScript on any page, Quickeys makes it one keystroke away.
- JavaScript (ES6+) – Core extension logic and DOM manipulation
- Chrome Extension API – Manifest V3 with service workers
- Webpack 5 – Module bundling and build optimization
- CSS3 – User interface styling
- Chrome Storage API – Settings and shortcuts persistence
Install directly from the Chrome Web Store.
- Create custom keyboard shortcuts using any key combination
- Assign site-specific shortcuts with wildcard matching
- Over 50 built-in actions across 8 categories
- Real-time visual feedback when shortcuts execute
- Dynamic permission management
- Navigation: Scroll controls, history navigation, URL copying
- Tab Management: Create, close, switch, pin, mute tabs
- Window Control: New windows, fullscreen, minimize/maximize
- Media Control: Play/pause, volume adjustment, skip controls
- Clipboard: Copy URLs, titles, selected text
- Accessibility: Font size adjustment, dark mode, reader mode
- DOM Interaction: Element clicking, form filling, visibility toggles
- Custom Automation: Execute JavaScript securely in a sandbox
- Cross-site compatibility with conflict resolution
- Permission-aware action execution
- Pattern caching for performance optimization
- Multi-context script execution (main world and isolated world)
Problem: Modern websites block inline script execution with CSP headers, preventing custom JavaScript actions from running.
Solution: Used Chrome's declarativeNetRequest API to remove CSP headers at the network layer before they reach the page. This allows custom scripts to execute while maintaining security by only affecting user-initiated actions.
Problem: Chrome extensions run in isolated contexts (background worker, content scripts, popup) that can't directly share state or call functions.
Solution: Built a message-passing system using Chrome's runtime API with persistent port connections. Added reconnection logic to handle service worker restarts and maintain reliable communication.
Problem: Checking wildcard patterns (like *.github.com/*) on every keystroke for dozens of shortcuts caused input lag.
Solution: Implemented pattern caching by compiling wildcards to RegExp once and reusing them. Added conflict resolution modes and lazy evaluation to minimize unnecessary pattern checks.
Problem: Requesting all permissions upfront triggers security warnings and reduces user trust, but different actions need different permissions.
Solution: Declared permissions as optional in the manifest and request them only when users select actions that need them. Actions gracefully degrade when permissions are denied.
Problem: Service workers can terminate at any time, losing in-memory state for shortcuts and settings between keypress events.
Solution: Stored all critical state in chrome.storage.sync for persistence and rehydrated it on worker startup. Moved time-sensitive tracking to content scripts which have longer lifespans.
MIT License – see LICENSE for details.
Author: HaseebUlhaq Malik