Skip to content
Β 
Β 

Latest commit

Β 

History

356 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WindoM - Your Space, Your Flow

WindoM

Your Space, Your Flow Β· Made to Fit You

A Chrome extension that turns every new tab into a personal productivity dashboard - clock, weather, todos, Google Calendar, Gmail inbox, Spotify, live stock & crypto prices, quick links, focus timer, and more. All the essentials in one new tab, built with a clean glassmorphism design.


Chrome Web Store Website LinkedIn

Chrome Web Store Users GitHub Stars Contributors Forks

Version License: MIT PRs Welcome Issues

React TypeScript Vite Tailwind CSS Fastify PostgreSQL Drizzle Fly.io Manifest V3



WindoM dashboard

WindoM redefines the new tab experience. Instead of an empty page, every new tab opens to a thoughtfully designed personal productivity dashboard that gives you everything you need to start your day with clarity and intention.

Built around a clean glassmorphism aesthetic, WindoM feels as good as it looks - smooth, minimal, and always out of the way when you need it to be.

At a glance you see the time, the weather, your upcoming calendar events, unread Gmail, what's playing on Spotify, live stock and crypto prices, and your tasks for the day. Everything you actually care about, nothing you don't.


Star History

Star History Chart

Screenshots

Main dashboard
Main Dashboard
Settings panel
Settings Panel
Sidebar
Sidebar
Account
Account & Integrations

Why WindoM?

Most new tab extensions do one thing. WindoM does everything - and does it beautifully. A clean new tab dashboard built for focus, customization, and your daily flow.

Pain point WindoM's answer
Blank new tab wastes a micro-moment Instant glance at time, weather, todos, calendar
Widget apps clutter your taskbar Lives exactly where you already look - the new tab
Glassmorphism dashboards feel heavy Sub-second load, zero network calls for the core UI
Integrations break after OAuth expires Silent automatic token refresh, cross-tab sync
"Productivity" apps demand attention Focus Mode hides everything and lets you just work
Your background gets stale Rotating Unsplash images or your own photos

Features

Feature Detail
⏰ Clock & Greeting Personalized, adapts to the time of day
🌀️ Weather Real-time via OpenWeatherMap
πŸ–ΌοΈ Backgrounds Unsplash rotation or your own uploaded image
πŸ“… Google Calendar Upcoming events synced to the sidebar
βœ‰οΈ Gmail Inbox Unread count + 5 recent messages in the sidebar, refreshes every 45s
🎡 Spotify Now-playing widget + playback controls + top tracks
πŸ“ˆ Finance Dashboard Live stocks & crypto - Yahoo Finance + CoinGecko, no API key needed
βœ… Todos Local task list, always in the sidebar
πŸ•°οΈ Tab History Recent browsing history in the sidebar
⏱️ Focus Mode Distraction-free countdown timer
πŸ”— Quick Links & Dock Pinned shortcuts on every tab
πŸ’¬ Daily Quotes A new one every day
πŸ” Search Bar Google, Bing, DuckDuckGo, or Brave
πŸ”’ Auth System Optional account - Google Sign-in or email, JWT + refresh token rotation
βš™οΈ Apps Hub Unified settings panel - one card per integration

Install

From the Chrome Web Store (recommended):

Install from Chrome Web Store

Run locally:

See the Local Setup Guide.

Browser support:

Browser Status
Chrome 112+ Fully supported
Edge (Chromium) Fully supported
Brave Fully supported
Firefox Not supported (Manifest V3 differences)

Tech Stack

Extension

Layer Technology
UI React 18 + TypeScript
Bundler Vite + CRXJS
Styling Tailwind CSS v4 + custom glassmorphism
Extension API Chrome Manifest V3
State persistence chrome.storage.sync / chrome.storage.local

Backend

Layer Technology
Server Fastify v5 (TypeScript ESM)
ORM Drizzle ORM
Database PostgreSQL 16
Auth JWT + refresh token rotation, AES-GCM encryption
Hosting Fly.io
CI/CD GitHub Actions

Project Structure

WindoM/
β”œβ”€β”€ web/                # Chrome extension (React + Vite)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/ # UI - grouped by feature domain
β”‚   β”‚   β”œβ”€β”€ contexts/   # Global state (settings, auth, background, focus)
β”‚   β”‚   β”œβ”€β”€ hooks/      # Per-feature data hooks
β”‚   β”‚   β”œβ”€β”€ lib/        # Chrome storage wrappers, API client
β”‚   β”‚   └── types/      # Shared TypeScript types
β”‚   └── manifest.json
β”œβ”€β”€ backend/            # Fastify API server
β”œβ”€β”€ docs/               # GitHub Pages site (privacy policy, local setup)
└── .github/workflows/  # Auto-deploy and auto-publish pipelines

Contributing

Contributions are welcome. See CONTRIBUTING.md for guidelines.

Contributors

Ways to contribute:


Changelog

See CHANGELOG.md for the full version history.

Current version: 1.4.0


Privacy

WindoM does not track you. All personal data stays in your browser. An account is optional and only needed for Google Calendar, Gmail, and Spotify features. Finance data is fetched directly from public APIs with no account required. Read the full Privacy Policy.


Links

Description Links
Website windom.app
Chrome Web Store Install WindoM
LinkedIn WindoM on LinkedIn
Privacy Policy Privacy Policy
Local Setup Local Setup Guide
Issues GitHub Issues
Discussions GitHub Discussions

License

MIT - see LICENSE

About

WindoM redefines the new tab experience. Instead of an empty page, every new tab opens to a thoughtfully designed personal dashboard that gives you everything you need to start your day with clarity and intention.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages