Premium Chrome New Tab Experience
Weather intelligence, task planning, daily inspiration, and visual personalization in one modern dashboard.
Quick Start | Load as Extension | Commands | Marketing Copy
This project replaces the default Chrome new tab with a polished productivity dashboard. It is designed to deliver immediate day-start clarity by combining weather, todos, quotes, and background customization into a single focused workspace.
| Category | What You Get |
|---|---|
| Productivity | Todo tracking with persistent state |
| Context | Real-time weather by city or current location |
| Motivation | Inspirational quote section |
| Personalization | Dynamic backgrounds via Unsplash, Pexels, or custom URL |
| Platform | Manifest V3-ready Chrome extension workflow |
- Why It Feels Premium
- Feature Highlights
- Architecture Flow
- Tech Stack
- Quick Start
- Environment Variables
- Commands
- Chrome Extension Workflow
- Project Structure
- Deployment Notes
- Troubleshooting
- Marketing Copy
- License
- Strong visual hierarchy with clean component-based layout
- Smart defaults that keep users productive with minimal setup
- Personalization controls that do not compromise performance or simplicity
- Todo list with persistent state management
- Fast interactions and lightweight daily planning flow
- Weather widget with city search and geolocation support
- Daily quote section to keep the experience fresh and engaging
- Background provider switching (Unsplash, Pexels, custom image URL)
- Settings modal for theme and behavior controls
flowchart LR
U[User Opens New Tab] --> UI[Dashboard UI]
UI --> ST[Redux Store]
UI --> API[Service Layer]
API --> W[Weather API]
API --> BG[Image Providers]
API --> Q[Quote Source]
ST --> P[Persisted Preferences]
P --> UI
- Next.js 16 (App Router)
- React 19
- TypeScript
- Redux Toolkit + React Redux + redux-persist
- Tailwind CSS 4
- Radix UI primitives
- Node.js 20+
- pnpm 10+
pnpm installCreate .env.local in the project root:
NEXT_PUBLIC_WEATHER_API_KEY=your_openweather_key
NEXT_PUBLIC_WEATHER_BASE_URL=https://api.openweathermap.org/data/2.5
NEXT_PUBLIC_UNSPLASH_ACCESS_KEY=your_unsplash_access_key
NEXT_PUBLIC_PEXELS_API_KEY=your_pexels_api_keypnpm devApp URL: http://localhost:5000
| Variable | Purpose | Required |
|---|---|---|
NEXT_PUBLIC_WEATHER_API_KEY |
OpenWeather API key | Yes (weather feature) |
NEXT_PUBLIC_WEATHER_BASE_URL |
Weather API base URL | No |
NEXT_PUBLIC_UNSPLASH_ACCESS_KEY |
Unsplash API key | Optional |
NEXT_PUBLIC_PEXELS_API_KEY |
Pexels API key | Optional |
WEATHER_KEY |
Server-side weather fallback key | Optional |
WEATHER_BASE_URL |
Server-side weather fallback URL | Optional |
Recommendation: configure weather plus at least one background provider key.
| Command | Description |
|---|---|
pnpm dev |
Start local dev server on port 5000 |
pnpm build |
Create production build |
pnpm start |
Run production server |
pnpm start:fresh |
Rebuild and run production server |
pnpm build:static |
Build static-ready app |
pnpm extension:build |
Build extension-ready output in out |
pnpm extension:zip |
Create release/chrome-extension.zip |
- Build extension output:
pnpm run extension:build- Open
chrome://extensions - Enable Developer mode
- Click
Load unpacked - Select the
outfolder
This project uses Manifest V3 via public/manifest.json and overrides the new tab page.
pnpm run extension:zipGenerated artifact: release/chrome-extension.zip
src/
app/ App Router pages, layout, globals
components/ Dashboard features and reusable UI
services/ API clients, config, and hooks
store/ Redux provider, store, slices
public/ Static assets and extension manifest
scripts/ Extension build and packaging scripts
docs/ Reusable project description and marketing copy
For production web build:
pnpm build
pnpm startIf stale output appears:
pnpm run start:fresh- Run
pnpm install - Ensure imports do not include pinned package versions in source paths
- Verify
NEXT_PUBLIC_WEATHER_API_KEY - Allow browser location access when using current-location weather
- Confirm
public/manifest.jsonis valid - Rebuild with
pnpm run extension:build - Reload
outfromchrome://extensions
Need store, recruiter, and SaaS-ready descriptions?
Use docs/project-descriptions.md for:
- Chrome Web Store listing copy
- Enterprise and SEO-focused variants
- GitHub About and topics
- Recruiter and portfolio descriptions
No explicit license file is currently included. Add a license before public distribution.