A free, open-source Pomodoro timer, site blocker & focus dashboard β built right into your browser's New Tab
Stop fighting your browser. Make it work for your focus instead of against it.
Install on Chrome Β· Website Β· Report a Bug Β· Request a Feature Β· Contributing
Ashdeck turns every new tab into a calm, distraction-free focus space. Instead of opening a blank page (or your last open tab), every new tab becomes a personal dashboard with a built-in Pomodoro timer, a site blocker for distracting websites, a simple task list, and ambient focus soundscapes β all in one place, all free, all open source.
No separate app to switch to. No browser extension you forget exists. Just open a new tab, and your focus tools are already there, waiting.
- π 100% free β no premium tier, no paywalled features
- π Fully open source under AGPL-3.0 β inspect it, fork it, self-host it
- β‘ Lightweight β built with React, TypeScript, and Vite
- π§© Zero setup β install from the Chrome Web Store and it just works
- Features
- Install Ashdeck (for users)
- Run Ashdeck locally (for developers)
- Tech Stack
- Project Structure
- Roadmap
- Contributing
- Community & Support
- License
| β±οΈ Pomodoro Timer | A built-in Pomodoro timer that starts the moment you open a new tab β no app-switching required to begin a focus session. |
| π« Site Blocker | Block distracting websites (social media, news, anything you choose) during focus sessions, directly from your new tab. |
| π New Tab Dashboard | Replaces your browser's default new tab page with a calm, purpose-built environment designed around what you're working on right now. |
| β Task List | A lightweight task list built into the dashboard β capture what you're working on without leaving your new tab. |
| π΅ Focus Soundscapes | Ambient sound profiles to help you settle into deep work β rain, white noise, and more. |
| π Clean, Minimal UI | No clutter, no ads, no "upgrade to premium" prompts β just the tools you need to focus. |
The easiest way to use Ashdeck is to install it directly from the Chrome Web Store:
- Click Add to Chrome
- Open a new tab
- Your Pomodoro timer, site blocker, task list, and focus dashboard are ready to go β no account, no setup
Currently available for Chrome and Chromium-based browsers (Brave, Edge, etc. via the Chrome Web Store).
Want to contribute, customize, or self-host Ashdeck? Here's how to get a local development environment running.
- Node.js (v18 or later recommended)
- npm (comes with Node.js)
# 1. Clone the repository
git clone https://github.com/ashdeck/ashdeck.git
cd ashdeck
# 2. Install dependencies
npm install
# 3. Start the development server
npm run devThe app will be available locally β open it in your browser to start developing.
- Run
npm run buildto generate a production build - Open
chrome://extensionsin Chrome - Enable Developer mode (top right)
- Click Load unpacked and select the build output folder
- Open a new tab to see your local build of the Ashdeck new tab dashboard
π‘ New here? Check out our
CONTRIBUTING.mdfor a full walkthrough of the codebase and how to make your first contribution.
Ashdeck is built with a modern, lightweight frontend stack:
- React + TypeScript + Vite β core framework and build tooling
- Zustand β lightweight state management
- TanStack Query β data fetching and caching
- React Hook Form β form handling
- Axios β HTTP requests
- React Hot Toast β notifications/toasts
- IconSax β icon set
- Generouted β file-based routing (Next.js-style routing for React + Vite)
Ashdeck uses a file-based router (via Generouted) to keep the codebase organized in a way that should feel familiar if you've worked with Next.js.
src/
βββ components/ # Reusable UI components (CustomButton, FormInput, etc.)
βββ store/ # Zustand stores for global state
βββ pages/ # File-based routes (Generouted)
βββ hooks/ # Custom React hooks
βββ ...
A few things worth knowing before you dive in:
CustomButtonandFormInputare ready-made components βFormInputis designed to work with React Hook Form out of the box.- Global state lives in
store/using Zustand β check there before adding new state management. - Routing follows the Generouted convention β new pages just need to be added to the
pages/directory.
- Firefox / Edge add-on store listings
- Customizable focus soundscape mixing
- Site blocker scheduling (recurring focus hours)
- Sync settings across devices
- Dark mode themes
Have an idea? Open a feature request β we'd love to hear it.
Ashdeck is built in the open, and contributions of all sizes are welcome β from fixing a typo to building a whole new feature.
- π’ New to the project? Look for issues labeled
good first issue - π Found a bug? Open an issue
- π‘ Have a feature idea? Open a feature request
- π Read
CONTRIBUTING.mdfor setup details and our PR process - π€ Please follow our
CODE_OF_CONDUCT.md
Every star, issue, and pull request helps Ashdeck grow β thank you for being part of it. β
- π ashdeck.com
- π¦ Follow updates and share what you're building with Ashdeck
- π³οΈ GitHub Discussions β introduce yourself, request features, or show off your setup
Ashdeck is open source under the AGPL-3.0 License.
If Ashdeck helps you focus, consider giving it a β β it helps others find this project.

