A Zero-Latency Developer New Tab Extension
Replace your Chrome new tab with a blazing-fast, keyboard-first developer dashboard
Features • Screenshots • Installation • Usage • Development • Tech Stack
Main dashboard with clock, top sites, and omnibar
Optional widgets: Pomodoro, Notepad, Weather, and more
Customizable settings panel
| Widget | Description | Status |
|---|---|---|
| 🕐 Clock | Large digital clock with 12/24h format & dynamic greeting | ✅ Core |
| 🔗 Top Sites | Most visited sites from Chrome history | ✅ Core |
| ⌨️ Omnibar | Universal search/command bar (Google, GitHub, localhost) | ✅ Core |
| 🍅 Pomodoro | Focus timer with work/break intervals | ✅ Optional |
| 📝 Notepad | Quick scratchpad with auto-save | ✅ Optional |
| 🌤️ Weather | Local weather widget | ✅ Optional |
| 📰 Tech News | Latest developer news feed | ✅ Optional |
| 📊 GitHub Stats | Personal GitHub activity & stats | ✅ Optional |
Type in the command bar:
| Command | Action | Example |
|---|---|---|
g <query> |
Google Search | g svelte tutorial |
gh <query> |
GitHub Search | gh vite |
l <port> |
Open Localhost | l 3000 → localhost:3000 |
/<command> |
Custom Commands | /help |
| Direct URL | Navigate | github.com |
| Search Query | Google Search | javascript promises |
Navigation: Use ↑/↓ arrow keys to browse command history
Ctrl/Cmd + , - Open SettingsEscape - Close modals↑ / ↓ - Navigate command history in Omnibar# Clone the repository
git clone https://github.com/Zayan-Mohamed/dev-dash.git
cd dev-dash
# Install dependencies (requires pnpm)
pnpm install
# Build the extension
pnpm build
# Load in Chrome:
# 1. Open chrome://extensions
# 2. Enable "Developer mode" (top-right toggle)
# 3. Click "Load unpacked"
# 4. Select the `build/` directory
Download the latest .crx or .zip from Releases.
# Install dependencies
pnpm install
# Dev server (browser preview)
pnpm dev
# Build for Chrome
pnpm build
# Type checking
pnpm check
# Lint & format
pnpm lint && pnpm format
| Technology | Version | Purpose |
|---|---|---|
| Svelte | 5.45+ | UI framework with runes |
| SvelteKit | 2.49+ | Build tooling |
| TypeScript | 5.9+ | Type safety |
| Tailwind CSS | 4.1+ | Styling |
| Vite | 7.2+ | Bundler |
| lucide-svelte | latest | Icons |
src/
├── lib/
│ ├── components/ # UI components (Clock, TopSites, Omnibar)
│ ├── services/ # Chrome API wrappers
│ └── utils/ # Helper functions
├── routes/
│ ├── +layout.svelte # Root layout
│ └── +page.svelte # Main dashboard
└── app.css # Global Tailwind styles
public/
├── manifest.json # Extension manifest
└── icons/ # Extension icons
build/ # Built extension (git-ignored)
Edit component classes or app.css. Current theme (GitHub Dark):
--bg-primary: #0d1117;
--bg-secondary: #161b22;
--border: #30363d;
--text-main: #c9d1d9;
--accent: #58a6ff;
In src/lib/components/Omnibar.svelte:
if (command.startsWith('npm ')) {}
const pkg = command.slice(4);
window.location.href = `https://npmjs.com/package/${pkg}`;
return;
}
In src/routes/+page.svelte:
<Clock use24Hour={true} showGreeting={false} />
topSites API wrapper with mock data fallback for developmentchrome.storage.local with localStorage fallbackAll components built with Svelte 5's new runes syntax:
$state for reactive time and $effect for interval management$props$state for history and input// Strict TypeScript configuration
- strictNullChecks: true
- noImplicitAny: true
- No any types allowed
- Interface definitions for all data structures
Example type definitions:
interface Site {
title: string;
url: string;
}
interface StorageData {
settings: {
use24Hour: boolean;
showGreeting: boolean;
githubUsername: string;
customLinks: string[];
};
}
build/ directory# Rebuild and reload
pnpm build
# Then reload extension in chrome://extensions
chrome://extensionstopSites permission is granted# Clear cache and reinstall
rm -rf node_modules .svelte-kit build
pnpm install
pnpm build
Contributions, issues, and feature requests are welcome!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Please ensure:
This project is licensed under the MIT License - see the LICENSE file for details.
Zayan Mohamed
Give a ⭐️ if this project helped you!