Skip to content

mjfutera/CountdownTimer-Browser-extension

Repository files navigation

Countdown Timer - Browser Extension

Countdowns logo

Countdown Timer is a cross-browser extension for tracking important events with clean, visual countdown timers right on your New Tab page. Built with the WXT framework and TypeScript, supporting Chrome, Firefox, and Edge.

Links

Socials

MichalFutera.pro   GitHub   LinkedIn   X (Twitter)   Linktree   Buy Me A Coffee   Telegram

Key Features

  • Multiple countdown timers in one place
  • New Tab integration for quick access
  • Progress indicators and clean timer cards
  • Browser notifications for timer milestones
  • Persistent storage and schema migration support
  • Cross-browser support (Chrome, Firefox, Edge)

Stack and Structure

  • WXT framework with TypeScript
  • Manifest V3
  • Vite bundler
  • utils/core.ts for date/time logic
  • utils/storage.ts for persistence and migrations
  • utils/ui.ts for rendering helpers
  • utils/notifications.ts for sound/notifications
  • entrypoints/background.ts for alarms lifecycle
  • entrypoints/newtab/ for the New Tab page

Quality

  • Prettier
  • Automated publishing via wxt submit

How to run the extension from source code (Opera/Chromium)

  1. Download the source code from GitHub (CodeDownload ZIP or git clone ...).
  2. Install Node.js (https://nodejs.org/) if you don't have it already.
  3. Open a terminal in the project folder and run:
    npm install
    npm run build
    
  4. Go to the .output/chrome-mv3 folder.
  5. In Opera (or Chrome/Edge):
    • Open: ExtensionsManage extensions (opera://extensions)
    • Enable developer mode.
    • Click Load unpacked and select the .output/chrome-mv3 folder.

The extension will appear in your browser and work without being published in the store.